
Computer Vision
文章平均质量分 67
Rachel-Zhang
yiyan程序员 https://weibo.com/u/2607574543
展开
-
视频编码部分定义
GOPQPBit Rate(码率)PSNRDefinitions:Ø GOP(Group of Pictures)策略影响编码质量:所谓GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧原创 2011-07-08 21:13:06 · 15789 阅读 · 1 评论 -
MATLAB安装 The installer cannot read the mwinstall.dll...
很头疼的问题,解决方案转载自http://hi.baidu.com/hclgogo1/blog/item/aae0891cac10368c87d6b629.html,经本人实验已成功。前提:安装前的文件 的 目录 不需含有 中文安装MATLAB7时弹出原创 2011-08-04 09:49:59 · 18832 阅读 · 4 评论 -
matlab实现分水岭算法处理图像分割
此程序为优化后的分水岭算法,避免了图像过分割I= imread('D:\Images\pic_loc\1870405130305041503.jpg'); imshow(I);h=fspecial('sobel'); %h = fspecial(type) crea原创 2011-08-08 14:04:45 · 65095 阅读 · 21 评论 -
matlab进阶摸索篇——彩色图求直方图
首先要知道彩色图是没有直方图的,只能在rgb方向分别求直方图在合并一下。干脆不用这么麻烦,用rgb2gray转到灰度图,再在二维上进行直方图绘制,最后还提供了代码,找出直方图中横坐标(像素值)为50以下的纵坐标(以此为像素的个数)的和。close allclear原创 2011-08-07 19:28:57 · 15284 阅读 · 4 评论 -
matlab进阶摸索篇——彩色图直方图均衡化
首先转为灰度图,然后均衡化,详见代码sourcePic=imread('D:\毕业设计\Images\pic_loc\1870358810205041517.jpg');grayPic=rgb2gray(sourcePic);figure,imshow(sour原创 2011-08-07 20:09:56 · 19426 阅读 · 5 评论 -
Sobel算子实现水平边缘检测、垂直边缘检测;45度、135度角边缘检测
%File Discription:%45°和135°角边缘检测;用于那些边界不明显的图片%不太适用于复杂图,复杂图用水平和垂直边缘检测%Author:Zhang Ruiqing%CreateTime:2011.8.8(What a good day!(*^__^*) )原创 2011-08-08 08:56:04 · 27836 阅读 · 3 评论 -
图割Graph-Cut的最大流实现
利用最大流标号法求解最大流,详见代码:Version:未加头尾节点版;缺点:havn't take nodes' pixels into consideration/***************************************************原创 2011-08-08 13:09:39 · 10951 阅读 · 1 评论 -
图像二值化----otsu(最大类间方差法、大津算法)
/****************************************以下部分内容为转载**********************************************//*****转自:http://hi.baidu.com/yibobin/blog原创 2011-08-09 09:18:17 · 108204 阅读 · 18 评论 -
matlab用来度量图像区域属性的函数——regionprops
详细regionprops声明参考http://course.bnu.edu.cn/course/mathmodel/zuoxinian/mat_region.html#ConvexArea在此用regionprops实现了二值图像划region,找质心原创 2011-08-09 13:30:31 · 7768 阅读 · 1 评论 -
matlab连通域处理函数们
1、 matlab函数bwareaopen──删除小面积对象格式:BW2 = bwareaopen(BW,P,conn)作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。算法:(1)Determine the connected compon转载 2011-08-09 14:35:28 · 31806 阅读 · 0 评论 -
Matlab实现霍夫变换_优化版
在上一篇博客中发现经过霍夫变换检测出的直线有可能因为车辆挡住路沿等原因断开,形成线段,这样就不好了,因为检测道路是要找直线焦点。Thus it is necessary to combine 相同斜率的直线 and connect them.本代码提供了matlab下求取原创 2011-08-10 09:28:45 · 25504 阅读 · 37 评论 -
求帧差
yuv player弄个出来的帧差效果很差,看不清, 改成bmp再弄会好很多:多亏钱建大师帮忙,留底以后大家省的写了!代码如下//*********************************************************************原创 2011-07-21 10:09:02 · 3466 阅读 · 1 评论 -
边缘检测:Canny边缘检测和sobel边缘检测比较
Canny算子和Sobel算子用于图像边缘检测,代码如下:clear allclose allSourcePic=imread('D:\毕业设计\Images\pic_loc\1870358530205041511.jpg');subplot(131);imsho原创 2011-08-08 09:57:59 · 13341 阅读 · 1 评论 -
Matlab 到 OpenCv 的常见函数转换
1、 matlab中的imread相当于OpenCV中的cvLoadImage(imageName, CV_LOAD_IAMGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR):读出的图像信息保持了原有图像的信息(包括通道信息和位深信息); rgb2gray相当于cvLoadImage(imageName, CV_LOAD_IMAGE_GRAYSCALE):单通转载 2012-01-25 20:03:30 · 4700 阅读 · 0 评论 -
MFC中快速应用OpenCV教程
论坛上看到非常经典的VS2008 + OpenCV 2.0下的配置过程:(这里用的是opencv2.0)1. 文件 | 项目 | MFC | MFC应用程序 |(新名称如MFCtest)|next2. 单文档,取消使用Unicode库选项,选中在静态库中使用MFC | next3. 取消ActiveX控件选项 | next | 完成4. 项目 | 属性 | 链接器 |原创 2012-01-26 21:17:44 · 8338 阅读 · 6 评论 -
图像处理和图像识别中常用的OpenCV函数
2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;5、cvReleaseImage:释放图像文件所分配的内存;6、cvDestroyWindow:销毁显示图像文件的窗口;7、cvCreateFileCapture:通过参数设置确定要读转载 2012-02-18 09:50:36 · 4602 阅读 · 0 评论 -
openCv 图像顺时针、逆时针旋转
通过下面这个函数调用Rotate90(workImg,270);//顺时针旋转Rotate90(workImg,90);//逆时针旋转实现,其实用该函数旋转任意度数对正方形图都ok,只是长方形图旋转后会有拉伸部分,不好掌握新图的长宽。void Rotate90(IplImage *workImg,int angle){ int opt = 0;原创 2012-02-18 12:18:44 · 12711 阅读 · 6 评论 -
opencv中Hough变换参数详解
cvHoughLines2说明: 此函数是opencv图像变换函数中的一个,主要用来访问霍夫变换的两个算法———标准霍夫变换(SHT)和累计概率霍夫变换(PPHT)。函数原型: CvSeq* cvHonghLines2( CvArr* image, void* line_storage, int mehtod, double rho, do原创 2012-02-27 15:41:20 · 10392 阅读 · 0 评论 -
MFC+OPENCV实现角点检测
// 角点检测 // 根据《基于OpenCV的计算机视觉技术实现》#define max_corners 200; // 限定的最大角点数IplImage* srcImage = 0; // 待处理的源图像IplImage* ImageShow = 0; //原创 2012-03-03 15:51:34 · 4594 阅读 · 0 评论 -
opencv实现分水岭算法
// 分水岭算法原理// IplImage* marker_mask = 0;IplImage* markers = 0;//IplImage* img0 = 0, *img = 0, *img_gray = 0, *wshed = 0;IplImage *img_gray = 0, *wshed = 0;CvPoint prev_pt = {-1,-1};void on_原创 2012-03-03 15:56:29 · 11574 阅读 · 3 评论 -
用Opencv设置图像拷贝和覆盖
int imageClone(IplImage* pi,IplImage** ppo) // 复制 IplImage 位图{ if (*ppo) { cvReleaseImage(ppo); // 释放原来位图 } (*ppo) = cvCloneImage(pi); // 复制新位图 return(1);}i原创 2012-03-02 21:21:40 · 7121 阅读 · 1 评论 -
MFC多文档中opencv处理图像打开、保存
需要在C**Doc和C**View中进行相应修改图像打开:Doc.cpp中:BOOL CCVMFCDoc::Load(IplImage** pp, LPCTSTR csFilename){ IplImage* pImg=NULL; pImg = cvLoadImage(csFilename,-1); // 读图像文件(DSCV) if (!pImg)原创 2012-03-02 21:19:04 · 11599 阅读 · 12 评论 -
opencv实现图像邻域均值滤波、中值滤波、高斯滤波
void CCVMFCView::OnBlurSmooth()//邻域均值滤波{ IplImage* in; in = workImg; IplImage* out = cvCreateImage(cvGetSize(in),IPL_DEPTH_8U,workImg->nChannels); cvSmooth(in,out,CV_BLUR,3,workImg->nChannels);原创 2012-03-03 12:42:06 · 18891 阅读 · 1 评论 -
opencv绘制灰度直方图
代码之一#include #include #pragma comment( lib, "cv.lib" )#pragma comment( lib, "cxcore.lib" )#pragma comment( lib, "highgui.lib" )int main(){ IplImage* src=cvLoadImage("lena.jpg",0);原创 2012-03-03 18:46:51 · 10330 阅读 · 3 评论 -
opencv 利用滚动条调整图像亮度
/************************************************************************//* 亮度调整 *//********************************************************************原创 2012-03-08 13:14:13 · 6521 阅读 · 2 评论 -
opencv 图像阴影检测
参数说明:IplImage *workImg-当前全局变量,表示正在显示的图片。downleft, upright- 检测出的阴影部分矩形框的两个对角顶点。/*********************************************/ //阴影检测/*********************************************/CvPoint原创 2012-03-08 19:19:54 · 17583 阅读 · 26 评论 -
三维高斯模型 opencv实现
OnProbabilityModel(){ int i; for(int x=0;xheight;x++) { for(int y=0;ywidth;y++) { //double cur[3]; CvMat* cur=cvCreateMat(3,1,CV_32F); for(i=0;i<3;i++){ double tt=((uchar*)(workIm原创 2012-03-25 16:36:28 · 5279 阅读 · 1 评论 -
OPENCV中 RGB 转换到 HSI空间
本文实现了RGB空间转换到HSI空间,并分别求出S分量(饱和度)、I分量(亮度、光强)#include "stdafx.h"#include "highgui.h"#include"cv.h"int main(int argc, char *argv[]){ IplImage *img = cvLoadImage("G:\\huo.jpg"); IplImage *r原创 2012-03-10 11:06:52 · 14658 阅读 · 3 评论 -
opencv 动态调节canny参数 边缘检测
void on_trackbar3(int h){ cvCanny( image, cedge, edge_thresh, edge_thresh*3, 3 ); cvShowImage("Adjust Canny Parameter",cedge);}void CCVMFCView::OnCannyAdjThres(){ cedge=cvCreateImage(cvGetSize原创 2012-03-28 16:42:01 · 12153 阅读 · 1 评论 -
opencv 金字塔图像分割
opencv中有封装好的cvPyrSegmentation函数,参数解释如下:PyrSegmentation用金字塔实现图像分割void cvPyrSegmentation( IplImage* src, IplImage* dst,CvMemStorage* storage, CvSeq** comp,int level, double threshold1, dou原创 2012-03-28 12:57:04 · 21924 阅读 · 19 评论 -
Opencv实现Canny算子边缘检测
void CCVMFCView::OnCannyBorddetec(){ IplImage* src = 0; IplImage* dst = 0; IplImage* color_dst = 0; CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* lines = 0; int i; if (workImg->nChann原创 2012-03-28 14:16:17 · 6213 阅读 · 0 评论 -
Opencv 图像增强算法 图像检测结果
本code通过直方图变换增强了图像对比度,实现了单通道图像增强。将图像灰度阈值拉伸到0-255,图像检测结果见底部Keywords: 图像增强 增强对比度 直方图变换int ImageStretchByHistogram(IplImage *src1,IplImage *dst1)/*************************************************F原创 2012-03-28 10:58:03 · 43480 阅读 · 21 评论 -
线性均值滤波和中值滤波的比较
线性均值滤波和中值滤波对信号处理的比较结果如下:原创 2012-03-30 10:34:14 · 10640 阅读 · 1 评论 -
opencv中用Sobel算子进行边缘检测
参数:workImg:当前工作图像(全局);img3:Sobel_edge结果;m_imagetype:图像类型(全局);OnEdgedetSobel(){ IplImage *img = cvCreateImage( cvGetSize(workImg), IPL_DEPTH_16S, 1); if(workImg->nChannels==3) OnColor原创 2012-03-16 07:53:27 · 7778 阅读 · 5 评论 -
opencv 中 傅里叶变换 FFT
void fft2(IplImage *src, IplImage *dst){ //实部、虚部 IplImage *image_Re = 0, *image_Im = 0, *Fourier = 0; // int i, j; image_Re = cvCreateImage(cvGetSize(src), IPL_DEPTH_64F, 1); //实部 //Imaginar原创 2012-03-16 10:56:39 · 33323 阅读 · 12 评论 -
颜色特征提取方法
计算机视觉的特征提取算法研究至关重要。在一些算法中,一个高复杂度特征的提取可能能够解决问题(进行目标检测等目的),但这将以处理更多数据,需要更高的处理效果为代价。而颜色特征无需进行大量计算。只需将数字图像中的像素值进行相应转换,表现为数值即可。因此颜色特征以其低复杂度成为了一个较好的特征。在图像处理中,我们可以将一个具体的像素点所呈现的颜色分多种方法分析,并提取出其颜色特征分量。比如通过手工标原创 2012-04-04 09:35:40 · 50924 阅读 · 14 评论 -
纹理特征提取
一幅图像的纹理是在图像计算中经过量化的图像特征。图像纹理描述图像或其中小块区域的空间颜色分布和光强分布。纹理特征的提取分为基于结构的方法和基于统计数据的方法。一个基于结构的纹理特征提取方法是将所要检测的纹理进行建模,在图像中搜索重复的模式。该方法对人工合成的纹理识别效果较好。但对于交通图像中的纹理识别,基于统计数据的方法效果更好。1.1.1 LBP纹理特征LBP方法(Local b原创 2012-04-04 14:08:34 · 64707 阅读 · 5 评论 -
opencv中RGB转YCbCr
CvMat cvRGB2YCbCr(CvMat* src){ CvMat dst; cvInitMatHeader(&dst,3,1,CV_32F,zero); double B=cvmGet(src,0,0); double G=cvmGet(src,1,0); double R=cvmGet(src,2,0); double y = (int)( 0.299 * R +原创 2012-03-25 16:35:12 · 18882 阅读 · 3 评论 -
matlab GUI中打开文件并做button的Callback
function filename=OnFileOpen()%UNTITLED1 Summary of this function goes here% Detailed explanation goes here[filename,filepath]=uigetfile('*.jpg','打开文件');%gui中打开文件%file=[filename,filepath];%fid=f原创 2012-03-18 16:11:37 · 18766 阅读 · 2 评论 -
matlab GUI callback 函数实现
搞了一下午,看了些资料,终于弄好了matlab GUI中的回调函数。效果图见底部~umtitled3.m:function varargout = untitled3(varargin)% UNTITLED3 M-file for untitled3.fig% UNTITLED3, by itself, creates a new UNTITLED3 or raise原创 2012-03-18 19:07:42 · 29366 阅读 · 0 评论