如何从labview显示出点图片中,提取出鼠标所在位置的像素坐标?

如何从labview显示出点图片中,提取出鼠标所在位置的像素坐标?,第1张

在vision的图像显示中就自带这个功能,只要在vision图像显示的“显示项”中选择“image information“,就可在图像上方出现一个数字显示框,不但可以显示鼠标的位置的像素座标,还可以显示该座标的图像灰度数值。

    中心像素坐标:

      图像像素尺寸大小为MN, 其中M为宽,N为高;

    为图像的中心坐标,其中 = , 。

     比如,图像尺寸大小为10241024,那么中心坐标为(5115,5115),而非(512,512)

      该理论,后期会更加详细阐述

3)在视觉处理库Opencv中,u对应x,v对应y。
在opencv中,坐标系原点O位于图像左上角;行列与坐标系对应关系:行 rows :Y (height); 列cols:X (width)。即就是:

X轴为水平向右,代表图像的宽width,也就是cols(列数);

Y轴为竖直向下,代表图像高Height,也就是rows(行数);

图像坐标系原点在图像中心位置,也就是像素坐标系中心位置 。从像素坐标上来看,天然相差 个像素值。
1)图像坐标系单位为mm, dx和dy分别表示每个像素在横轴x和纵轴y的物理尺寸,也就是分辨率,代表一个像素对应的实际距离(mm)
即就是:
假设物理坐标系单位为毫米(mm),那么dx单位为毫米/像素, 那么x/dx的单位就是像素了,
即和u的单位一样。

2)图像坐标系和像素坐标系的关系--矩阵形式

通常一幅图像有四个焦角点,已知图像的大小为widthheight,那么四个角点的坐标分别为:(0,0), (0,width-1), (height-1,0), (width-1,height-1)。

在窗体添加 按钮,TImage 控件 Image1
__fastcall TForm1::TForm1(TComponent Owner)
: TForm(Owner)
{
Image1->AutoSize = true;
Image1->Picture->LoadFromFile("c:\\1bmp");
}
void __fastcall TForm1::Button1Click(TObject Sender)
{
int x, y;
int w = Image1->Width;
int h = Image1->Height;
for (y = 0; y < h; y++)
for (x = 0; x < w; x++)
{
返回点的RGB值 = Image1->Canvas->Pixels[x][y];
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13385058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存