zoukankan      html  css  js  c++  java
  • 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)。

  • 相关阅读:
    jenkins log日志过大
    USB Key
    银行应用USB Key身份认证方案
    安全登录认证
    加密和认证
    C#中的委托(Delegate)和事件(Event)
    白皮书、蓝皮书、绿皮书、黄皮书、褐皮书
    DevExpress GridControl使用方法总结
    private protected internal public
    android尺寸问题(转)
  • 原文地址:https://www.cnblogs.com/qintang/p/9943905.html
Copyright © 2011-2022 走看看