编程论坛
注册
登录
编程论坛
→
VB6论坛
CCD拍摄的位图,怎么将pixel换算成mm
shinesun
发布于 2016-03-15 14:34, 5769 次点击
通过CCD相机拍摄的一张放大倍数为10的位图,统计出了图像中裂纹的长度,但是此时裂纹的长度是以像素为单位的,怎么将pixel换算成mm!尝试了用一个标尺在相同放大倍数下拍摄一张图片,然后将该图片二值化后再进行分析!还有其他的方法,将pixel和mm的关系标定出来吗
8 回复
#2
风吹过b
2016-03-15 20:24
想了一下,你拍摄时,还是加标尺拍更好。主要是拍摄时的换算比例会有不同,没有绝对值。
#3
shinesun
2016-03-16 09:04
回复 2楼 风吹过b
你提到的估计是最直接的,但是要分析的目标区域不仅仅是一个,如果将标尺一起拍照对整张图进行分析时估计有影响!关于这个标定看了很多相关的,其中二值化就是一种,但是觉得太繁琐了
#4
风吹过b
2016-03-16 14:32
那不使用这种的精确的方法,就只能估计了。
1、按10倍的拍摄一定量的照片,人工分析,得出像素长度比例。形成一张物镜距离与比例 关系的二维表。
2、程度里,使用时,先按比例中值得出结果,同时提供物镜距微调功能,从而人工参与得到更精确的值。
这个比例,与这些参数有关
物镜放大比例,正相关
物镜到目标的距离,正相关
ccd的分辨率,正相关
#5
hjxlj
2016-03-16 15:46
一句两句讲不清楚,还是QQ交流方便。
#6
shinesun
2016-03-16 16:12
回复 4楼 风吹过b
原本想着挺简单的,好像变的挺复杂啦!不定的因素那么多!你说的太专业了。
想请教,如果在picturebox.ScaleMode=3的情况下,在界面上选取两点,结合picturebox.point进行统计,统计出的结果是不是就可以作为一定物理尺寸下的像素数值呢?
#7
wmf2014
2016-03-17 09:16
pixel和毫米是可以转换的,在界面上选取两点,就已经知道两点坐标了,为什么还要统计呢?
#8
shinesun
2016-03-17 09:32
回复 7楼 wmf2014
现在设置pictureBox.ScaleMode=3,然后在pictureBox的mousedown中选取两点,根据两点的距离公式得出结果,这个结果是否可以粗略认定为是该图片在这段距离的像素点数呢?
#9
风吹过b
2016-03-17 17:55
照片上的像素坐标值,这样取是可以的。
现在关键计算出来的 像素转换成实际长度。
这个比例人工分析几张照片计算平均值吧。
已知道的比例是屏幕像素与长度换算。
1