博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv获取图像像素值的两种方法
阅读量:5274 次
发布时间:2019-06-14

本文共 811 字,大约阅读时间需要 2 分钟。

在前面的一篇博文中的代码中已经用到了一种方法:

for ( int i = 0; i < gray_diff->height; ++i ) {      //遍历整个gray_diff图像,其imageData成员是该图像的首地址,widthStep是一行占的字节数      //则这里就是指向了该图像的第i行            uchar * pucPixel = (uchar*)gray_diff->imageData + i*gray_diff->widthStep;            for ( int j = 0; j < gray_diff->width; ++j ) {          //pucPixel[j]即为该点像素值,可进行操作            ...       ...            }        }

最近在学习过程中又看到一种方法:

  for (int i = 0; i < img->height; ++i) {        for (int j = 0; j < img->width; ++j) {            CvScalar scalar = cvGet2D(img, i, j);            //scalar.val[0]、scalar.val[1]、scalar.val[2]分别代表该点的BGR值,可进行操作         ...         ...            cvSet2D(img, i, j, scalar);        }    }

这里的img是IplImage类型,最后别忘记cvSet2D()

这两种方法都能对图像中的像素点进行读取与操作并写入,就是不知道有什么异同呢?

转载于:https://www.cnblogs.com/Malo_Fleur/p/5742179.html

你可能感兴趣的文章
linux sed命令
查看>>
湖南多校对抗赛(2015.03.28) H SG Value
查看>>
hdu1255扫描线计算覆盖两次面积
查看>>
hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411
查看>>
程序存储问题
查看>>
优雅地书写回调——Promise
查看>>
AX 2009 Grid控件下多选行
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
Ubuntu下面安装eclipse for c++
查看>>
Windows 2003全面优化
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
整理推荐的CSS属性书写顺序
查看>>
css & input type & search icon
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>