怎么样计算图片上两点的长度CM
如果题,不知道用什么算法呀。
[解决办法]
没做过类似的东西,不过知道2点坐标,可以计算出2点之间有多少个像素距离,然后在换算像素和厘米之间的关系,应该还和屏幕分辨率有关,不过应该都有现成的api函数的
[解决办法]
应该可以用三角函数(直角三边),先计算出两边,即可得出两点的距离。
[解决办法]
先计算两点间的像素多少,根据dpi(每英寸多少像素)换算出多少厘米。
以前写的,希望有点用
// 以下代码适用c++builder,windows系统//---------------------------------------// 功能:获取桌面dpi//---------------------------------------int __fastcall GetDeskTopDpi(){ HDC hdc; hdc = ::GetDC(::GetDesktopWindow()); int dpi = ::GetDeviceCaps(hdc, LOGPIXELSX); ::ReleaseDC(::GetDesktopWindow(), hdc); return dpi;}//---------------------------------------// 功能:获取打印机dpi//---------------------------------------int __fastcall GetPrinterDpi(){ return ::GetDeviceCaps(Printer()->Handle, LOGPIXELSX);}//---------------------------------------// 功能:多少mm(毫米)为多少像素// 参数:dpi是解析度, mm是毫米//---------------------------------------double __fastcall MmToPixel(double dpi, double mm){ // 每mm(毫米)多少像素公式为 dpi / 25.4 return (dpi / 25.4 * mm);}//---------------------------------------// 功能:多少像素为多少毫米// 参数:dpi是解析度, pixel是像素//---------------------------------------double __fastcall PixelToMm(double dpi, double pixel){ return (pixel / (dpi / 25.4));}
[解决办法]
得有长度和像素间转换的方法。
[解决办法]
1、如果是摄像机实时取得的,可以根据摄像机的光学参数来求。需要光学成像、投影几何,立体几何的知识。
2、静态图片上的,如果已知图像分辨率DPI(也就是每英寸有多少个点),通过求取两点间隔像素数来求得距离。