• 指针遍历图像 why指针类型uchar?


    uchar与char

    char 是有符号的 unsigned char 是无符号的,里面全是正数 两者都作为字符用的话是没有区别的,但当整数用时有区别: char 整数范围为-128到127( 0x80__0x7F), 而unsigned char 整数范围为0到255( 0__0xFF ) 有时候想把整数数值限在255范围内,也用unsigned char、。

    widthstep是指图像每行所占的字节数。

     


    主要要和width区别:
    width是表示图像的每行像素数,widthStep指表示存储一行像素需要的字节数。
    在OpenCV里边,widthStep必须是4的倍数,从而实现字节对齐,有利于提高运算速度。
    如果8U单通道图像宽度为3,那么widthStep是4,加一个字节补齐。这个图像的一行需要4个字节,
    只使用前3个,最后一个空着。也就是一个宽3高3的图像的imageData数据大小为4*3=12字节。



    imagedata是指向存储图像像素值数组的指针,内容是这个数组的首地址,pt.y指的是像素点的行坐标,
    所以Img->imageData + Img->widthStep*pt.y便是该像素点所在行的首地址,然后再加上该像素点所在的列,即pt.x,
    就得到了该像素点的地址,代码也可以写成

    ((uchar*)(Img1->imageData + Img1->widthStep*pt.y+pt.x)),都是指该像素点的像素值
  • 相关阅读:
    吃透空洞卷积(Dilated Convolutions)
    CondInst:性能和速度均超越Mask RCNN的实例分割模型
    图像处理基础:颜色空间及其OpenCV实现
    caffe模型转rknn模型的方法
    探索 YOLO v3 源码
    探索 YOLO v3 源码
    事件
    组合,模板,bolck块
    WXSS学习
    其他组件
  • 原文地址:https://www.cnblogs.com/lizimu/p/10497906.html
Copyright © 2020-2023  润新知