转自:http://blog.csdn.net/hxgqh/archive/2011/02/23/6202001.aspx

获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到。
OpenCV中,CvScalar结构为:
typedef struct CvScalar
{
    double val[4];
}
CvScalar;
 
4个double型变量,算法处理时不至于被强制类型转换而降低精度了。
再来看读写函数的定义:
 
cvGet2D 获得某个点的值, idx0=hight 行值, idx1=width 列值。
CVAPI(CvScalar) cvGet2D( const CvArr* arr, int idx0, int idx1 );
 
cvSet2D 给某个点赋值。
CVAPI(void) cvSet2D( CvArr* arr, int idx0, int idx1, CvScalar value );
 
有上可见,cvGet2D的返回类型和cvSet2D中value的类型都是CvScalar,这样定义一个CvScalar变量再调用函数就OK了。
 
OpenCV中像素点读写例子:

int main(int argc, char **argv)
{
    IplImage *img = cvLoadImage(argv[1], 1);
    CvScalar pixel;
    for (int i = 0; i < img->height; ++i)
    {
        for (int j = 0; j < img->width; ++j)
        {
            //获得像素的RGB值并显示, 注意内存中存储顺序是BGR
            pixel = cvGet2D(img, i, j);
            printf("B=%f,G=%f,R=%f/t", pixel.val[0], pixel.val[1], pixel.val[2]);
            //修改各点的值
            pixel.val[0] = 0;
            pixel.val[1] = 0;
            pixel.val[2] = 0;
            cvSet2D(img, i, j, pixel);
        }
    }
    cvNamedWindow("image", 1);
    cvShowImage("image", img);
    cvWaitKey(0);
    cvDestroyWindow("image");
    cvReleaseImage(&img);
    return 0;
}

OpenCV像素点处理相关推荐

  1. OpenCV像素点邻域遍历效率比较,以及访问像素点的几种方法

    OpenCV像素点邻域遍历效率比较,以及访问像素点的几种方法 前言: 以前笔者在项目中经常使用到OpenCV的算法,而大部分OpenCV的算法都需要进行遍历操作,而且很多遍历操作都是需要对目标像素点的 ...

  2. OpenCV像素点处理 1

     获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGet2D()和cvSet2D()两个函数加上一个CvScalar结构体做到. OpenCV中,CvScalar结构为: ...

  3. OpenCV像素点的计算,好家伙,直接降龄化教学。。。代码对图片的神奇操作~~~~~~

    opecv浅记 这篇博客从代码,理论以及一些实际操作角度讲解像素运算 长文 文章目录 opecv浅记 像素点的运算 1.像素点 2.对像素点运算 ①.普通运算 ②.逻辑运算 3.简单应用及其原理 ①. ...

  4. OpenCv像素点获取与修改

    1.matlab获取彩色图像像素值的方法 img=imread('test.jpg'); img1=img(:,:,1); img2=img(:,:,2); img3=img(:,:,3); 三通道排 ...

  5. numpy PIL tensor之间的相互转换

    图片的读取通常有两种格式,一种是PIL,一种是opencv.两种读取方式存在一些区别 图片格式不同,Image读入的是"RGB",Opencv读入的是"BGR" ...

  6. OPencv java Mat 基本操作像素点(7)

    前面我们说到了用Mat类进行行列式的计算,可能在OPenCv中不算太实用,那么今天我们介绍一个比较使用的,图片中的像素点 我们知道OpenCv当我们read一个图片的时候,返回的结果是一个Mat 一. ...

  7. 图像像素点赋值_Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像...

    普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需要注意的是, OpenCV 读取图像是 BGR 存储显示. 灰度图片读 ...

  8. 【OpenCV】OpenCV访问像素点的三种方式

    环境配置   VS2013+OpenCV3.0+Win7(X64)    前言   OpenCV是图像处理最常用的库之一.它提供了许多常用的图像处理算法相关的函数,极大地方便了图像处理方法的开发,而图 ...

  9. OpenCV学习笔记:创建/分配图像、图像读写保存、图像像素点访问修改

    环境:CentOS7 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) $ pkg-config --modversion opencv 2.4.13 以下程序的 ...

最新文章

  1. 使用git更新github上的开源项目
  2. CV领域中的Bert,了解一下?
  3. 安装php出现 “make: *** [ext/gd/libgd/gd_jpeg.lo] Error ”
  4. 网络:XSS和HttpOnly
  5. Vue-第七天 学习与相关问题总结
  6. ITK:创建前向差异内核
  7. 需求: 计算一下你来到这个世界多少天 拓展:改成 生日是键盘录入的 而且可以循环录入 直到录入 exit 结束循环
  8. java如何转成jar包,修改及反编译可运行Jar包实现过程详解
  9. SDEBECMSrv服务
  10. java 日期_Java中的日期操作
  11. 5W2H分析法,哪哪儿都能用到的方法,人生也可以套路进来
  12. Java实现的大整数分解Pollard's rho算法程序
  13. dubbo protocol port 消费者端_Dubbo 优雅停机演进之路
  14. 程序员面试 IT 公司,这些地方你要注意!
  15. Docker容器中安装JDK
  16. MySQL数据库 实验报告(三)
  17. 天池项目总结,特征工程了解一下!
  18. GNSS《GPS测量原理及应用》复习题集
  19. Win10 安装Docker 杂记
  20. [BZOJ1050] [HAOI2006] 旅行comf (Kruskal, LCT)

热门文章

  1. Python 骚操作:微信远程控制电脑
  2. cookie关键字_我遇过的最难的Cookie问题
  3. 终极AutoCAD大师班:成为AutoCAD专家
  4. Maya教程-XGEN制作毛发技能学习 Patreon – Cartoon Grooming Series by Jesus FC
  5. 深入理解ceph-disk prepare 源码逻辑
  6. Qt下一行代码就可以使用的稳定易用的日志log类
  7. layui栅格布局问题
  8. sql 存储过程和函数
  9. 什么是ObjCTypes?
  10. 在Java连接hbase时出现的问题