- 博客(13)
- 资源 (10)
- 收藏
- 关注
原创 计算二值图像的重心坐标并绘制重心
#include "cv.h"#include "highgui.h"using namespace std;int main(){ //定义二值图像IplImage *img = cvLoadImage("spot.JPG",0);cvNamedWindow("img"); cvShowImage("img", img);// 计算重心CvMoments *m
2015-12-29 11:12:46 10298
原创 椭圆拟合
看了网上光宇椭圆拟合的各种算法,都差不多,但是写的条理很乱,借鉴别人的成果,修改了下程序,下边是我梳理后的过程。#include "cv.h"#include "highgui.h"int main(){ //定义图像IplImage *img3 = cvLoadImage("spot.JPG",0);IplImage *img2 = cvCloneImage(img3
2015-12-28 22:18:57 2243
原创 透视校正
如果有一个方形边框的图像,用相机拍下来发生了改变,现在我想把方形区域从原图中抽取出来,并还原到标准的方形。看了别人做的透视变换觉得很有用,就演练了一下。步骤如下:1.读取原图,转换为灰度格式;2.使用cvGoodFeaturesToTrack函数获得灰度图的特殊点,其中包括方形四个角可其他干扰点;3.这一步我的方法很low,在灰度图中分别找到特征点的坐标,主要是想知道四个角(点6/2/21/17)
2015-12-24 13:53:06 785
原创 图像裁剪
把原图的左上角裁剪下来,思路很简单#include #include #include #include using namespace std;int main(){//读图并显示原来图像;IplImage* src = cvLoadImage("1.JPG");if (!src){cout return 0;}cvName
2015-12-23 10:04:23 478
原创 SIFT算法的特征提取与匹配
借鉴作者http://licong1018.blog.163.com/blog/static/902697842012111594813944/的程序,我用自己的图片尝试一下果然好用,img1/img2是同一个物体的不同形状图片,算法的步骤很简洁,注释部分是我依据自己的理解添加进去的,可能理解的有些偏差,望指教。#include "highgui.h"#include #include
2015-12-22 22:37:19 881
原创 棋盘格的角点标定与相机参数标定
这个程序是对26幅图像的处理过程,使用了一种新的方法实现对规则命名图像的循环读取,一大收获,程序如下:// CamCalib.cpp : 定义控制台应用程序的入口点。////////////////////////////////////////////////////////////////////////////#include "stdafx.h"#include#inc
2015-12-18 19:48:32 7592
原创 标定相机参数
这是借鉴别人的程序,主体都是别人写的,我只做了整理,程序主要完成了9幅棋盘格图像的角点标定,然后利用9组标定的角点信息来计算相机的内参、外参,并最终给出校正后的图像。需要声明的是对9幅图像读取的过程,定义了char filename[]={0},另filename依次加1,2,...9,来实现ascii码中数字1向字母1的转换,这是作者的灵活之处,膜拜。如果需要程序使用的图片,告诉我,再次感谢原作
2015-12-16 21:42:22 1444 6
原创 用opencv做棋盘格的标定
今天看了好多别人的程序,蒙圈的要命,书上的例子也长的吓人,后来就得不能蛮干,就找到一精简的程序研究起来,最后还是有模有样的运行出来了。现在奉献给像我一样苦苦探求的人。#include #include using namespace std;int main(){ cout IplImage* img= cvLoadImage("ge.jpg",CV_LOAD_IM
2015-12-15 21:22:09 7303 51
原创 图像尺寸变换
尝试了使用openCv的cvResize()函数,一个很简单的函数,实现对源图像的大小重新定义#include "cv.h" #include "highgui.h" int main(){IplImage *img = cvLoadImage("1404.jpg");//原图cvNamedWindow("Origion"); cvShowImage("Origion"
2015-12-10 20:55:31 798
原创 对一幅图像添加高斯噪声
参考别人的程序写的,因为网上对图像添加高斯噪声的程序很难找到,我就自己整理出来一份。#include "cv.h" #include "highgui.h" int main(){IplImage *img = cvLoadImage("1404.jpg");//原图cvNamedWindow("Origion"); cvShowImage("Origion", img
2015-12-10 19:30:45 9944
原创 图像融合
主要用的函数就是cvAddWeighted(),程序如下:#include "cv.h"#include "highgui.h"int main(){IplImage *img1 = cvLoadImage("1404.jpg");IplImage *img2 = cvLoadImage("fabric.png");cvNamedWindow("tuzi");cvNam
2015-12-06 16:51:22 924
原创 把彩色图像变成灰度图像
这个变换用的函数是cvCvtColor(src,dst,BGR2GRAY);具体的实现步骤如下:#include "cv.h"#include "highgui.h"int main(){IplImage *img1 = cvLoadImage("1404.jpg",CV_LOAD_IMAGE_UNCHANGED);IplImage *img2=cvCreateImage(cv
2015-12-06 14:11:34 672
原创 金字塔分割算法
这是我参考大神的作品,金字塔分割算法的大概意思就是,像金字塔那样,上层都是以下层为基础的,所以只要上下层之间在某个阈值1内就可以形成链接关系,而同之间的差值在阈值2范围内,就能确定他们的同层关系,opencv有专门的函数来实现这种算法,pyrSegmentation,这个函数的参数可以轻松地查到,我把程序贴在下面:#include "cv.h"#include "highgui.h"#
2015-12-06 13:55:45 1274
stm32 CAN1 CAN2 loopback
2018-05-18
stm32 TIM input capture and create PWM wave
2018-04-29
Configure Eclipse for STM32 development
2017-12-09
LSD a line detection algorithm
2017-10-22
数字图像处理 冈萨雷斯 中文第二版
2015-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人