摘要:p163_5和p163_6代码如下:#include <opencv/cv.h>#include <opencv/highgui.h>/**********************************************// 函数cvCount:统计二值图像image中像素值为value的数量**********************************************/int cvCount(IplImage *image, uchar value){ if(image == NULL || image->nChannels != 1) r
阅读全文
摘要:http://baike.baidu.com/view/954621.htmhttp://blog.csdn.net/jungleford/article/details/539302
阅读全文
摘要:参考:http://blog.csdn.net/xiajun07061225/article/details/6716496运行结果:以下是b题,程序运行后无法关闭,待研究:#include <opencv/cv.h>#include <opencv/highgui.h>bool g_draw = false;bool g_draw_hist = false;CvRect g_box;// 画矩形void draw_box(IplImage *image, CvRect rect, CvScalar scalar){ cvRectangle(image, c...
阅读全文
摘要:/* 第四章2 * 读入并显示一副图像,但用户鼠标点击图像时,获取图像对应像素的颜色值, * 并在图像上点击鼠标处用文本将颜色值显示出来 */#include <opencv/cv.h>#include <opencv/highgui.h>bool g_draw = 0;double g_blu, g_grn, g_red;//char *g_rgb = (char *)malloc(30*sizeof(char *));//char g_rgb[30];char *g_rgb = (char *)malloc(sizeof(char *));CvPoint g_poi
阅读全文
摘要:#include <opencv/cv.h>#include <opencv/highgui.h>/* 显示灰度视频int main(int argc, char *argv[]){ char src[] = "F:\\test\\p126_1\\p126_1\\tree.avi"; CvCapture * capture = 0; IplImage * frame, *gray; capture = cvCreateFileCapture(src); if(capture == NULL) { cvNamedWindow("error&q
阅读全文
摘要:http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html双边滤波器的原理及实现 http://blog.csdn.net/abcjennifer/article/details/7616663
阅读全文
摘要:http://blog.sina.com.cn/s/blog_7f2acf45010176yz.html1、图像滤波 在三维计算机视觉领域,通常对于二维图像的特征抽取是很关键的第一步,这主要包括抽取二维图像上的边缘、角点、纹理等。通常从这些被称为基元图的组成部分中,我们可以提取图像的以下特征: 1)不同物体边缘成像所带来的灰度跃变; 2)物体不同材料或者不同颜色组成部分之间的分界线会产生灰度跃变; 3)物体轮廓线与背景具有不同的反射特性,也会形成灰度值不连续; 4)物体受到光照会形成阴影,这也会形成层灰度的跃变。 从上面分析可以看出,如果能够较好的从二维图像中提取出这些信...
阅读全文
摘要:转至:http://www.cnblogs.com/xiaojidan/archive/2012/08/20/2647261.html功能:标注二进制图像中已连接的部分。语法:L = bwlabel(BW,n) [L,num] = bwlabel(BW,n) 其中BW为输入图像;N可取值为4或8表示连接四连通或八连通区域;NUM为找到的连通区域数目;L为输出图像矩阵,其元素值为整数,背景被标记为0,第一个连通区域被标记为1,第二个连通区域被标记为2,依此类推.所以你不明白的1,2,3即为第1,2,3个连通区域的标记。例子:(1):A=[0 1 1 0 1 0 1 0 1 1 0 0 0 1 .
阅读全文
摘要:// 第五题#include <opencv/cv.h>#include <opencv/highgui.h>int main(int argc, char **argv){ int i,j; IplImage *img = cvCreateImage(cvSize(210,210), 8, 1); cvSetZero(img); for(i = 0;i<10; i++) { cvSetImageROI(img, cvRect(i*10, i*10, img->width-2*i*10, img->height-2*i*10)); cv...
阅读全文
摘要:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=13986http://www.opencv.org.cn/forum/viewtopic.php?f=10&t=11924&p=43041&hilit=%E5%85%8B%E9%9A%86%E5%87%BD%E6%95%B0&sid=2e3569e3374cc51cf28be59bec0cb11d#p43041// 第一题 float f = -15.03f; int j = cvRound(f); // 四舍五入 CvRNG rng= cvRNG(-
阅读全文
摘要:收集在各个开源项目中遇到的经典的位运算代码:types_c.h/* min & max without jumps */#define CV_IMIN(a, b) ((a) ^ (((a)^(b)) & (((a) < (b)) - 1)))/* 若a<b,则 ((a) < (b)) - 1) = 1 - 1 = 0, ((a)^(b)) & 0 = 0, (a) ^ 0 = a 所以返回a; 若a>b,则((a) < (b)) - 1) = 0 - 1 = -1,假设类型为int,则结果为0xffff ((a)^(b)) & 0x
阅读全文
摘要:感慨于志锋能写出那么好的编程总结心得,6410的我就不重写了,自己写写2440的吧。(程序参考文件夹:Int_Test)1、6410调试的条件之一是下载u-boot到Nand Flash中或者自己编写一份初始化代码由AXD命令烧写进去,而2440则不同,2440编程用uVision4作为编译器,开发板的初始化工作在汇编文件S3C2440A.s中编写好了。当然中断的初始化工作也在其中。6410中断采用中断向量控制器管理中断,编程比较简单。而2440采用中断向量表和多个寄存器配合工作,需要我们自己一个个操作,所以比较麻烦,但对学习很有帮助。2、关于S3C2440A.s中中断初始化工作参考文档:中断
阅读全文