【OpenCV学习】梯度化一张图片
作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
#include "cv.h" #include "cxcore.h" #include "highgui.h" #include int main(int argc, char **argv) { CvPoint center;//定义一个二维坐标的点 double scale = -3; int i,j; IplImage *image = argc ==2? cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR):0;//打开一张图片 if(!image) return -1; center=cvPoint(image->width/2,image->height/2);//构造这个二维坐标的点 for(i=0;iheight;i++) for(j=0;jwidth;j++) { double dx=(double)(j-center.x)/center.x; double dy=(double)(i-center.y)/center.y; double weight =exp((dx*dx+dy*dy)*scale);/*可以使用opencv定义的宏来提取象素值, 假设灰度图像image,存取其i行j列的象素可以这样:CV_IMAGE_ELEM(image, uchar, i, j) 如果是彩色图像就是 CV_IMAGE_ELEM(image, uchar, i, 3*j) CV_IMAGE_ELEM(image, uchar, i, 3*j+1) CV_IMAGE_ELEM(image, uchar, i, 3*j+2) */ uchar * ptr=&CV_IMAGE_ELEM(image,uchar,i,j*3); ptr[0]=cvRound(ptr[0]*weight);// 将浮点数转化为整数。 ptr[1]=cvRound(ptr[1]*weight); ptr[2]=cvRound(ptr[2]*weight); } cvSaveImage("copy.jpg",image);//保存图像/*打开图像*/ cvNamedWindow("Window",1); cvShowImage("Window",image); cvWaitKey(-1); return 0; }
转载于:https://www.cnblogs.com/gnuhpc/archive/2012/06/28/2568755.html
【OpenCV学习】梯度化一张图片相关推荐
- opencv 学习笔记——读入一张图片,并将其转为灰度图
读入一张RGB彩色图片,并将其转为灰度图 源码如下: #include <opencv2\highgui\highgui.hpp> #include <opencv2/opencv. ...
- OPENCV学习(更新)
目录 OPENCV学习1 显示一张图片: 用==cv2.imread==来读取图片 ==定义函数cv_show来代替这三行代码(要显示图片每次都要输入这三行代码,非常麻烦)== ==上面是RGB,现在 ...
- OpenCV学习之六: 使用方向梯度直方图估计图像旋转角度
OpenCV学习之六: 使用方向梯度直方图估计图像旋转角度 原文:http://blog.csdn.net/zhjm07054115/article/details/26964275 下面的代码通过计 ...
- opencv学习笔记17:梯度运算之laplacian算子及其应用
laplacian算子理论 前文介绍了sobel算子及其函数使用 和scharr算子及其函数使用 使用方法 不同算子比较 sobel,和scharr算子:右边121列-左边121列.右边-3,10,3 ...
- opencv学习笔记16:梯度运算之scharr算子及其函数使用
前文介绍了sobel算子 opencv学习笔记14:sobel算子及其函数使用 scharr算子理论 系数和sobel不一样,其他一样. scharr函数使用 dst=cv2.Scharr(src,d ...
- OpenCV学习笔记(十一):阈值化:threshold(),adaptivethreshold()
OpenCV学习笔记(十一):阈值化:threshold(),adaptivethreshold() 一.定义: 1)固定阈值操作 double threshold( InputArray src, ...
- OpenCV学习笔记(八):形态学morpholgy(2):开/闭运算,形态学梯度、顶帽/黑帽morphologyEx()
OpenCV学习笔记(八):形态学morpholgy(2):开.闭运算,形态学梯度.顶帽.黑帽:morphologyEx() 数学形态学(Mathematical morphology) 是一门建立在 ...
- opencv学习笔记之二值化
opencv学习笔记之二值化 1.什么是二值化 二值化,从名词意义上可以看出来,是将一共物体转化成两个值.二值即:0或255.即一个白色一个黑色.即一个图片经过二值化之后会显示成白色和黑色的形式. 2 ...
- 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...
1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...
最新文章
- android 8.0可以实现后台包活么,Android 8.0 应用保活实践 · Jaqen Ng
- BZOJ5137lg4081(广义后缀自动机,set启发式合并)
- Flutter实现帧动画
- 串口通讯你真的会了吗?不妨看看这些经验
- most recent call last 报错_视频|救援情景剧、创意快闪……400w+人次为重庆这场消防宣传活动打call...
- 句句真研—每日长难句打卡Day10
- c# mvc ajax 提交与 接收参数
- 射频IC理论知识/参考书
- matlab画森林图,R语言meta分析(4)网状Meta 分析
- Jenkins:This is especially strange since your build otherwise succeeded.及不是内外部指令问题
- 2021湖北省技能高考成绩查询,刚刚!湖北高考查分及志愿填报时间公布!
- NOD32 ID及升级服务器
- B. Remove Prefix
- 菜鸟都应该知道的倾斜摄影测量知识
- yolo模型是什么神经网络,yolo是卷积神经网络吗
- x平方检验计算_卡方检验具体怎么计算
- SQL语句:分组查询
- 微信curl上传客服头像接口遇到的坑
- 流计算 Oceanus | Flink JVM 内存超限的分析方法总结
- taglib.class.php,thinkphp5 taglib标签库自定义
热门文章
- 不是每个人的一生都会有贵人相助
- 穷人的孩子真的早当家吗?
- 在构造函数中使用new时应注意的事项
- 命令查看IPV6的IP,路由,邻居信息
- android各版本市场占有率报告,你用的是哪个版本 Android系统报告:果冻豆市占率升至62%...
- db2 联合数据源 mysql_详解DB2中联合SQL Server数据
- 如何监视SQL Server tempdb数据库
- SQL Server 2014中的混合云和Hekaton功能
- 如何在SQL Server中使用数据质量服务清除主数据服务数据
- [补档]noip2019集训测试赛(九)