opencv图像坐标

原图:

 

尺寸:240 × 150

灰度化:

 

 

1. 程序中输出像素点的灰度值:

 

 

2. 用工具取得的灰度值:

按照如下的坐标(图像处理坐标系)

 

得到的灰度值:

35,82)

 

82,35)

 

换算后分别是125(差两个像素值应该是误差)和178与之前的相对应

 

--------------------------------------------------------------------------------------------------

但是在【画图中】我们取的(35,82),底下却显示(82,35)

 

这是因为windows的坐标系是这样的:

 

--------------------------------------------------------------------------------------------------

 

结论1:

opencv严格按照数字图像的坐标系取像素点

 

当你创建一个2*5的数组array[2][5]的时候

1 2 3 4 5

6 7 8 9 0

转成图像便是width*height=5*2的图像

要注意的就是这里。

 

一般我们会首先取得图像,很容易会这样写

w = size.width = 5

h = size.height = 2

然后遍历

int val = img.at<uchar>(w,h)

重点:但是img中最后一个是img.at<char>(1,4),而不是img.at<char>(4,1),这里很容易就会发生溢出,这问题贼烦

 

结论2:

opencv不要使用size.width和size.height(很容易去对应x,y),改为使用row(对应x)和col(对应y)。

转载于:https://www.cnblogs.com/liufuyi/p/9943905.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值