获得像素点的值便可以更加灵活的进行图像处理,在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相关推荐

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

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

  2. OpenCV像素点处理

    转自:http://blog.csdn.net/hxgqh/archive/2011/02/23/6202001.aspx 获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGe ...

  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. 工程师姓什么很重要!别再叫我“X工”!!!
  2. java feature get_Java ShapeFeature.getLocations方法代码示例
  3. VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装
  4. 练习三十七:对获取数据进行排序
  5. 代码敲慢一点,学得会快一点
  6. 软件测试工程师 Linux 十大场景命令使用
  7. Flutter 的渲染逻辑及和 Native 通信
  8. 关于开学,我的心路历程~我已不想开学了
  9. npm私服搭建与应用
  10. 十大网络安全策略 打造坚固的内网
  11. 发动机压缩比怎么计算公式_发动机要多大的压缩比热效率才能达到达到60%?
  12. 如何防止黑客入侵服务器?
  13. 公众号可快速查询审计报告,鉴别真伪!太方便了……
  14. 中国商用机身组件市场趋势报告、技术动态创新及市场预测
  15. 驱动开发指南 第八章 汇编LED灯实验
  16. 【Bug修复】Room数据库 The columns returned by the query does not have the fields......
  17. 找数据?这几个数据源网站你都知道吗!?
  18. 小甲鱼课后作业_教学常规聚养料,润物无声花更艳 ——记长小教师一日教学常规点滴工作...
  19. 软件大全下载整理(更新中)
  20. WPS PDF文档如何取消高亮

热门文章

  1. Zabbix服务器性能优化记录
  2. NIO详解(十二):AsynchronousFileChannel详解
  3. markdownpad2 html渲染组件出错_Day68 Django forms组件
  4. php转盘抽奖源码yii2,yii2实现 上一篇,下一篇 功能的代码实例
  5. django model filter_Django分表的两个方案
  6. loj.ac:#10024. 「一本通 1.3 练习 3」质数方阵
  7. 2018年各大互联网前端面试题三(阿里)
  8. 将CSS放头部,JS放底部,可以提高页面的性能的原因
  9. 圣杯布局简单结构代码!
  10. 手机与笔记本蓝牙配对