我现在遇到一个问题,就是当我在浏览实时图象的image上面任意取得一点颜色值时,发现它的颜色值,每几百豪秒的都不同,即使我的镜头对着的是一面静止的墙壁,也会有变化,是什么原因?(我用时钟不断的取一点的颜色值)
mycolor := img_1.Canvas.Pixels[x, y];
Edit1.Text:=inttostr(mycolor);我在image上浏览图象,是参照dspack中demo中的playVideoCap来实现的。我本以为对着静止的物体,颜色值是不会变化的。而当在墙壁前面有物体经过时,该点的颜色值就会发生变化,从而判断物体经过该点。

解决方案 »

  1.   

    图象就是实时取的,镜头里面是什么图象,image上面就是什么图象,具体实现方法我已经说过了,就是参照dspack中demo中的playVideoCap来实现的。
      

  2.   

    数字摄像机、照像机的CCD头虽然有很大区别,但原理是一样的,楼上的说出一些原因,我从分辨率来说:不管是多高的分辨率,接收到的也是离散的点,第个点在不同时间输入值肯定是不同的。
      

  3.   

    我的目的是在实时浏览图象的image上面画条直线(红色),而画线的目的就是想让图象中运动的物体碰到红线的时候,触发抓图,而我没有解决如何判断物体碰到红线,我想取这条直线上的100个点(或更多),判断每点不同时间的颜色值是否相同,从而判断物体是否碰到红线。
    我的软件实际用途是用来在公路上抓拍超速车辆的(结合测速雷达),而我在浏览图象上面画红线,属于其中的一个功能,当运动的车辆碰到红线时,触发抓拍。请问你有什么好的建议吗?最好给点代码提示,我也是刚刚接触视频检测
      

  4.   

    图像值的颜色肯定是不稳定的,CCD摄像头的采集值的本身的信号就有波动,就是把摄像头对准一块黑布也一样。