OpenCV像素点处理 1
获得像素点的值便可以更加灵活的进行图像处理,在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的算法都需要进行遍历操作,而且很多遍历操作都是需要对目标像素点的 ...
- OpenCV像素点处理
转自:http://blog.csdn.net/hxgqh/archive/2011/02/23/6202001.aspx 获得像素点的值便可以更加灵活的进行图像处理,在OpenCV里可以通过cvGe ...
- OpenCV像素点的计算,好家伙,直接降龄化教学。。。代码对图片的神奇操作~~~~~~
opecv浅记 这篇博客从代码,理论以及一些实际操作角度讲解像素运算 长文 文章目录 opecv浅记 像素点的运算 1.像素点 2.对像素点运算 ①.普通运算 ②.逻辑运算 3.简单应用及其原理 ①. ...
- OpenCv像素点获取与修改
1.matlab获取彩色图像像素值的方法 img=imread('test.jpg'); img1=img(:,:,1); img2=img(:,:,2); img3=img(:,:,3); 三通道排 ...
- numpy PIL tensor之间的相互转换
图片的读取通常有两种格式,一种是PIL,一种是opencv.两种读取方式存在一些区别 图片格式不同,Image读入的是"RGB",Opencv读入的是"BGR" ...
- OPencv java Mat 基本操作像素点(7)
前面我们说到了用Mat类进行行列式的计算,可能在OPenCv中不算太实用,那么今天我们介绍一个比较使用的,图片中的像素点 我们知道OpenCv当我们read一个图片的时候,返回的结果是一个Mat 一. ...
- 图像像素点赋值_Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像...
普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需要注意的是, OpenCV 读取图像是 BGR 存储显示. 灰度图片读 ...
- 【OpenCV】OpenCV访问像素点的三种方式
环境配置 VS2013+OpenCV3.0+Win7(X64) 前言 OpenCV是图像处理最常用的库之一.它提供了许多常用的图像处理算法相关的函数,极大地方便了图像处理方法的开发,而图 ...
- OpenCV学习笔记:创建/分配图像、图像读写保存、图像像素点访问修改
环境:CentOS7 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) $ pkg-config --modversion opencv 2.4.13 以下程序的 ...
最新文章
- 工程师姓什么很重要!别再叫我“X工”!!!
- java feature get_Java ShapeFeature.getLocations方法代码示例
- VS 中配置使用Visual SVN系列 三:TortoiseSVN Client(客户端)下载和安装
- 练习三十七:对获取数据进行排序
- 代码敲慢一点,学得会快一点
- 软件测试工程师 Linux 十大场景命令使用
- Flutter 的渲染逻辑及和 Native 通信
- 关于开学,我的心路历程~我已不想开学了
- npm私服搭建与应用
- 十大网络安全策略 打造坚固的内网
- 发动机压缩比怎么计算公式_发动机要多大的压缩比热效率才能达到达到60%?
- 如何防止黑客入侵服务器?
- 公众号可快速查询审计报告,鉴别真伪!太方便了……
- 中国商用机身组件市场趋势报告、技术动态创新及市场预测
- 驱动开发指南 第八章 汇编LED灯实验
- 【Bug修复】Room数据库 The columns returned by the query does not have the fields......
- 找数据?这几个数据源网站你都知道吗!?
- 小甲鱼课后作业_教学常规聚养料,润物无声花更艳 ——记长小教师一日教学常规点滴工作...
- 软件大全下载整理(更新中)
- WPS PDF文档如何取消高亮
热门文章
- Zabbix服务器性能优化记录
- NIO详解(十二):AsynchronousFileChannel详解
- markdownpad2 html渲染组件出错_Day68 Django forms组件
- php转盘抽奖源码yii2,yii2实现 上一篇,下一篇 功能的代码实例
- django model filter_Django分表的两个方案
- loj.ac:#10024. 「一本通 1.3 练习 3」质数方阵
- 2018年各大互联网前端面试题三(阿里)
- 将CSS放头部,JS放底部,可以提高页面的性能的原因
- 圣杯布局简单结构代码!
- 手机与笔记本蓝牙配对