OPENCV中数字图像处理知识运用
cvZero();是让矩阵的值都为0,有初始化的作用,或者说清零~
比如说:IplImage img=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1);%创建一幅图像
cvZero(img);%相当于初始化图片,值都为0,矩阵大小为640*480
cvShowImage("img",img);%就显示一幅黑色,且值都为零的图像
cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)
img为图像指针,单通道多通道都行,不需要特殊要求
center为画圆的圆心坐标
radius为圆的半径
color为设定圆的颜色,比如用CV_RGB(255, 0,0)设置为红色
thickness为设置圆线条的粗细,值越大则线条越粗,为负数则是填充效果
1: #include"stdafx.h"
2: #include"opencv2/opencv.hpp"
3: #include"opencv2/opencv_modules.hpp"
4: #include"cv.h"
5: #include"cxcore.h"
6: #include"highgui.h"
7:
8: #define RaderImageWdith 720
9: #define RaderImageHeight 720
10:
11:
12: /*******************从文件中读取一副图像并在屏幕中显示***********************/
13: int main()
14: {
15: /*********************雷达数据处理*********************/
16: IplImage* RaderImage = cvCreateImage(cvSize(RaderImageWdith,RaderImageHeight),IPL_DEPTH_8U,1);
17: cvZero(RaderImage);
18: int dx = RaderImageWdith/2;
19: int dy = RaderImageHeight*3/4;
20: cvCircle(RaderImage, cvPoint(dx,dy),3, CV_RGB(0,255,255), -1, 8,0);
21: cvShowImage("RaderImage",RaderImage);
22:
23:
24:
25:
26:
27:
28:
29:
30: //定义一个字符指针,并指向图片所在的位置
31: char *PFileName;
32: PFileName = "D:\\Pictures\\parrot.jpg";
33: //读取一张图片并载入内存,并用一个数据结构指针指向这张图片
34: IplImage *Img = cvLoadImage(PFileName);
35: if(NULL == Img)//如果读入失败,退出程序
36: exit(1);
37: //创建一个窗体,标题为Example,自增益
38: cvNamedWindow("Example",1);
39:
40: //用指针指向图像的数据区头部
41: uchar *pchar;
42: int width = Img ->width; //读取图像宽度
43: int height = Img ->height; //读取图像高度
44: int channel = Img ->nChannels; //读取图像的通道数
45: int widthStep = Img ->widthStep;//读取图像一行像素所占的字节数
46: int i,j;
47: for(i = 0; i < height ; i++) //以下是遍历一副图像中的每个像素点
48: {
49: pchar = (uchar*)Img ->imageData + i * widthStep;
50: for(j = 0; j < width; j++)
51: {
52: uchar *temp = pchar + j * channel;
53: temp[0] += 10; //通道B
54: temp[1] += 10; //通道G
55: temp[2] += 10; //通道R
56: }
57: }
58: //在窗口中显示这张图片
59: cvShowImage("Example",Img);
60: //暂停程序,等待用户触发一个按键
61: cvWaitKey(0);
62: //释放图像所分配的内存空间
63: cvReleaseImage(&Img);
64: //销毁窗口
65: cvDestroyWindow("Example");
66: return 0;
67: }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
OPENCV中数字图像处理知识运用的更多相关文章
- [OpenCV-Python] OpenCV 中的图像处理 部分 IV (四)
部分 IVOpenCV 中的图像处理 OpenCV-Python 中文教程(搬运)目录 21 OpenCV 中的轮廓 21.1 初识轮廓目标 • 理解什么是轮廓 • 学习找轮廓,绘制轮廓等 • 函数: ...
- [OpenCV-Python] OpenCV 中的图像处理 部分 IV (六)
部分 IVOpenCV 中的图像处理 OpenCV-Python 中文教程(搬运)目录 23 图像变换 23.1 傅里叶变换目标本小节我们将要学习: • 使用 OpenCV 对图像进行傅里叶变换 • ...
- [OpenCV-Python] OpenCV 中的图像处理 部分 IV (一)
部分 IVOpenCV 中的图像处理 OpenCV-Python 中文教程(搬运)目录 13 颜色空间转换 目标 • 你将学习如何对图像进行颜色空间转换,比如从 BGR 到灰度图,或者从BGR 到 ...
- [OpenCV-Python] OpenCV 中的图像处理 部分 IV (五)
部分 IVOpenCV 中的图像处理 OpenCV-Python 中文教程(搬运)目录 22 直方图 22.1 直方图的计算,绘制与分析目标 • 使用 OpenCV 或 Numpy 函数计算直方图 • ...
- [OpenCV-Python] OpenCV 中的图像处理 部分 IV (二)
部分 IVOpenCV 中的图像处理 OpenCV-Python 中文教程(搬运)目录 16 图像平滑 目标 • 学习使用不同的低通滤波器对图像进行模糊 • 使用自定义的滤波器对图像进行卷积(2D 卷 ...
- [OpenCV-Python] OpenCV 中的图像处理 部分 IV (三)
部分 IVOpenCV 中的图像处理 OpenCV-Python 中文教程(搬运)目录 19 Canny 边缘检测 目标 • 了解 Canny 边缘检测的概念 • 学习函数 cv2.Canny() 1 ...
- opencv2.4.13+python2.7学习笔记--OpenCV中的图像处理--图像轮廓
阅读对象:无要求. 1.代码 ''' OpenCV中的轮廓 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度.为了更加准确,要使用二值化图像.在寻找轮廓之前,要进行阈值化 ...
- opencv2.4.13+python2.7学习笔记--OpenCV中的图像处理--图像轮廓特征和几何矩
阅读对象:对概率论中的期望有一点了解. 1.图像几何矩 1.1简述 图像的几何矩包括空间矩.中心矩和中心归一化矩.几何矩具有平移.旋转和尺度不变性,一般是用来做大粒度的区分,用来过滤显然不相关的图像. ...
- OpenCV中IplImage和Mat间的相互转换
OpenCV中做图像处理经常用到IplImage和Mat间的相互转换. 首先,cv::Mat是opencv2.0中的数据类型:IplImage是opencv1.0中的类型,两种类型并不相同. 1. I ...
随机推荐
- python在windows下UnicodeDecodeError的解决方法
之前在windows下使用python调用某些模块时都会报错,像这样: C:\Documents and Settings\Administrator>python -m CGIHTTPServ ...
- css中按钮的四种状态
css中按钮有四种状态 1. 普通状态2. hover 鼠标悬停状态3. active 点击状态4. focus 取得焦点状态 .btn:focus{outline:0;} 可以去除按钮或a标签点击后 ...
- 深入学习MongoDB
NoSQL(Not Only SQL)为什么使用NoSQL 对数据库高并发读写 对海量数据的高效存储与访问 对数据库的高可拓展性和高可用性 NoSQL的弱点 数据库事务一致性需求 数据库的写实时性和读 ...
- [NOIP2013] 提高组 洛谷P1979 华容道
题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 ...
- URL重写IIS7(URL Rewrite Module) 比之前的urlrewrite更方便使用
原文发布时间为:2011-02-24 -- 来源于本人的百度文章 [由搬家工具导入] 微软在IIS7中添加了URL的重写模块,并且免费使用,可以导入.htaccess规则,确实是个不错的选择 URL ...
- Repeater控件实现一行显示多条数据 Asp.net
原文发布时间为:2009-05-11 -- 来源于本人的百度文章 [由搬家工具导入] asp.net中Repeater控件可以很方便显示数据库的数据,使用传统的Table来布局,只能实现 ...
- 【全局变量】mysql查看全局变量以及设置全局变量的值
1.查看mysql的所有全局变量的值 SHOW GLOBAL VARIABLES 或者 SHOW VARIABLES mysql有很多全局变量,包括系统的一些基本信息,以及mysql的一些基本配置都可 ...
- PE笔记之PE基本结构图(PE笔记索引)
PE(Portable Execute) 文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任 何扩展名.那 ...
- 02深入理解C指针之---指针类型和值
该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 1.指针的类型: 可以在声明指针时,指定指针的类型,例如: (1)void *x 声 ...
- 理解printk函数【转】
转自:http://blog.csdn.net/Tommy_wxie/article/details/17026391 理解printk函数 Printk函数是在开发驱动过程中经常用到的一个函数,作用 ...