使用OpenCV出现的奇怪几个问题

时间:2020-12-21 20:03:26

这两天编写跟踪目标的程序,用到OpenCV来处理图像,其中碰见几个奇怪的问题, 1. VS2005建立一个Win32空项目,在用OpenCV打开的窗口中,我想要在其中画3个矩形作为选区,结果,只能响应LBUTTONDOWN,不能响应LBUTTONUP事件,但是如果屏蔽掉 LBUTTONDOWN,就能响应LBUTTONUP事件了,猜想是鼠标事件被什么给截获了,这个还不是最奇怪的,最奇怪的是,我屏蔽掉LBUTTONUP换成default来测试是否会出现我想要的结果,但是结果不但没有按照我想要的方向发展,反而出现了一件相当奇怪的事,就是结果出现的DOS窗口,里面没有任何命令,而且关不掉了,停止运行不能关掉,关闭VS不能关掉,用任务管理器关不掉,而且转不到它的进程里面去,它总是偷用别的程序的进程,被逼得没办法,打开DOS窗口,使用DOS命令ntsd关掉它,结果发现还是不行,你可以想象到我有多郁闷吧,我就想注销下,结果整个屏幕只是闪烁一下就没下文,没办法,我就关机吧,结果竟然跟注销一下,屏幕只是闪烁一下就没任何反应,我就像面对一个不知名的巨人,使劲全身解数也只是给它挠痒痒,最后,实在实在是没有办法,强制断点关机,再开机,终于解决了。它的出现,我至今还没有明白是为什么,这个问题的原因还有待挖掘! 2. 第二个问题是,我想要获取图像中某一点的像素,就用cvGet2D函数来做,结果又出现了崩溃,老是提醒说是越界了,这让我很是莫名其妙,后来查看,才发现,cvGet2D(image, j, i)才可以的,第二个参数是纵坐标,而不是横坐标,这个要引以为戒! 3. 第三个问题是使用try。。。catch,我在catch(Exception e){}竟然提醒我Exception这里出错,竟然说是不识别,我加了头文件的啊,还是不明白为什么出错。。 这些问题先记录下来,等有空就再来好好研究下。有些事只有经历了才知道自己有多少不注意的细节,这些细节就往往会让人很头疼。。