
图像处理
梅津太郎
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
opencv加载模型
OpenCV 3.3版本发布,对深度学习(dnn模块)提供了更好的支持,dnn模块目前支持Caffe、TensorFlow、Torch、PyTorch等深度学习框架。1 加载模型成网络1-1 调用caffe模型核心代码:String modelDesc = "../face/deploy.prototxt";String modelBinary = "../face/res10_300x300_ssd_iter_140000.caffemodel";// 初始化网络dnn::Net net =转载 2020-08-05 22:00:28 · 1495 阅读 · 0 评论 -
Hough变换
目录一、Hough变换简介二、Hough变换的数学理解1.x-y变量空间至k-b参数空间的变换2.x-y变量空间至-空间的变换三、Hough变换应用于线检测(MATLAB实现)1.检测步骤2.使用MATLAB工具箱中的Hough变换函数进行边缘检测一、Hough变换简介霍夫变换(Hough Transform)是数字图...原创 2020-07-07 21:04:21 · 2505 阅读 · 0 评论 -
霍夫变换
查到很多教程都是基于较老的版本,随着Matlab的更新,霍夫变换函数也发生了变换,基于新版本,重新对霍夫变换函数做出解释。Matlab版本:Matlab2016b基本原理:霍夫变换主要用来线检测,原理并不麻烦。简单来说,无非就是,xy...原创 2020-07-07 17:08:48 · 904 阅读 · 0 评论 -
逆滤波和维纳滤波
一、实验目的 利用逆滤波和维纳滤波,对Lena加噪运动模糊降质图像进行复原,比较不同参数选择对复原结果的影响。二、实验内容1) 输入Lena图像,对图像进行运动降质;降质模型:2) ...原创 2020-06-09 15:27:41 · 7702 阅读 · 0 评论 -
计算一个图像的轮廓,不同阈值下canny函数的轮廓,长度,面积。矩以及中心距。并且比较中心距和opencv函数计算的轮廓面积
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;#define window "【原始图】"#define windowx "【结果图1】"#define windowy "[结果图2]"//计算一个图像的轮廓,不同阈值下...原创 2020-01-06 17:44:56 · 797 阅读 · 0 评论 -
绘制最小包围圆,旋转矩阵,以及多边拟合曲线
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;#define window "【原始图】"#define windowx "【结果图1】"#define windowy "[结果图2]"//绘制最小包围圆,旋转矩阵,以及多...原创 2020-01-03 19:21:38 · 319 阅读 · 0 评论 -
将随机数量的用最小旋转矩形包围
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;#define window "【原始图】"#define windowx "【结果图1】"#define windowy "[结果图2]"//将随机数量的用最小旋转矩形包围。...原创 2020-01-02 16:51:34 · 215 阅读 · 0 评论 -
将一个图片的各个轮廓用凸包包围。
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;#define window "【原始图】"#define windowx "【结果图1】"#define windowy "[结果图2]"//RNG rng = theRN...原创 2020-01-02 16:10:34 · 206 阅读 · 0 评论 -
在图像上随机生成点,然后根据这些点计算包围这些点的凸多边形convexHull
hull可以是点向量,代表原来points的那些下标是多边形的边界点,并且是按逆时针或者顺时针来进行排列的,也就是说,他们并不是一定按照原来点的下标大小顺序来排序。#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;#define ...原创 2019-12-26 18:12:13 · 1063 阅读 · 0 评论 -
调整阈值,画出物体轮廓示例findContours()和drawContours()函数的应用
#define window "【原始图】"#define windowx "【结果图】"//调整阈值,画出物体轮廓。Mat gray_src;Mat dst;Mat edge;int thresh = 80;int max_thresh = 255;void on_canny(int,void*);int main(){ //1.原图像。 Mat src = imr...原创 2019-12-26 16:45:36 · 541 阅读 · 0 评论 -
直方图均衡化,提高灰度图对比度
void GetHistogram(const Mat &image, int *histogram){ memset(histogram, 0, 256 * sizeof(int)); //计算直方图 int pixelCount = image.cols*image.rows; uchar *imageData = image.data; ...原创 2019-12-26 15:25:30 · 944 阅读 · 1 评论 -
仿射变换,根据点求变换矩阵以及根据角度和缩放因子求变换矩阵
//仿射变换,根据点求变换矩阵以及根据角度和缩放因子求变换矩阵Mat mapx;Mat mapy;Mat src;Mat dst;int main(){ //1.原图像。 src = imread("马车2.jpg"); resize(src, src, Size(), 0.1, 0.1); imshow("效果图",src); //2.确定两组点,每组点3个。...原创 2019-12-25 17:57:07 · 1818 阅读 · 0 评论 -
用按键来进行四种重映射选择
#define window "[结果图]"//Mat mapx;Mat mapy;Mat src;void get_mapxy(int ch);int main(){ //1.原图像。 src = imread("马车2.jpg"); resize(src, src, Size(), 0.2, 0.2); imshow("效果图",src); //2.准备参数。 //...原创 2019-12-25 16:03:59 · 526 阅读 · 0 评论 -
简单的remap变换,重投影
//。int main(){ //1.原图像。 Mat src = imread("马车2.jpg"); resize(src, src, Size(), 0.2, 0.2); imshow("效果图",src); //2.准备参数。 Mat mapx(src.size(),CV_32FC1); Mat mapy(src.size(),CV_32FC1); //3.对map...原创 2019-12-25 15:04:00 · 237 阅读 · 0 评论 -
霍夫变换检测直线和圆(未完善)
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;//霍夫变换检测直线和圆。//一个窗口,一个滑动条控制检测直线的阈值。 //一个滑动条检测控制圆的阈值。//一个滑动条来控制圆心累加器和图像分辨率之比。int line_th...原创 2019-12-24 18:08:29 · 149 阅读 · 0 评论 -
拉普拉斯算子和scharr算子进行边缘检测
int main(){ //1.原图像。 Mat src = imread("女神.jpg"); //resize(src, src, Size(), 0.4, 0.4); imshow(window1,src); GaussianBlur(src,src,Size(3,3),0,0); cvtColor(src,src,CV_BGR2GRAY); //2.scahrr_x()边...原创 2019-12-24 15:27:21 · 263 阅读 · 0 评论 -
sobel算子简单示例
#include <iostream>#include <opencv2/opencv.hpp>#define window1 "【原图】"#define window2 "【效果图1】"#define window3 "【效果图2】"using namespace cv;using namespace std;//sobel算子简单示例。i...原创 2019-12-24 14:24:17 · 1703 阅读 · 0 评论 -
用canny算子进行图像的边缘检测,彩色边缘
#include <iostream>#include <opencv2/opencv.hpp>#define WITH 600#define window1 "【原图】"#define window2 "【效果图1】"#define window3 "【效果图2】"using namespace cv;using namespace std;in...原创 2019-12-23 22:15:44 · 832 阅读 · 0 评论 -
计算两个图片的卷积,一个图片为灰度图, 另一个图片为简单核
#include <iostream>#include <opencv2/opencv.hpp>#define WITH 600#define window1 "【原图】"#define window2 "【效果图】"using namespace cv;using namespace std;void convolve_dft(Mat& ...原创 2019-12-22 17:51:42 · 1771 阅读 · 0 评论 -
对图像进行频域变换(傅里叶变换)
#include <iostream>#include <opencv2/opencv.hpp>#define WITH 600#define window1 "【原图】"#define window2 "【效果图1】"#define window3 "【效果图2】"using namespace cv;using namespace std;...原创 2019-12-22 17:15:10 · 2169 阅读 · 0 评论 -
图像对比度,亮度的线性调整
#include <iostream>#include <opencv2/opencv.hpp>#define WITH 600#define window1 "【原图】"#define window2 "【效果图】"using namespace cv;using namespace std;Mat src, image;int contrast_b...原创 2019-12-21 16:44:41 · 595 阅读 · 0 评论 -
修改掩模来进行图片叠加
#include <iostream>#include <opencv2/opencv.hpp>#define WITH 600#define window1 "【原子图】"#define window2 "【塔型图】"using namespace cv;using namespace std;//mask来叠加logoint thresh=50...原创 2019-12-21 14:55:03 · 238 阅读 · 0 评论 -
利用各种绘图函数来绘制原子图和塔型图
#include <iostream>#include <opencv2/opencv.hpp>#define WITH 600#define window1 "【原子图】"#define window2 "【塔型图】"using namespace cv;using namespace std;//利用各种绘图函数来绘制原子图和组合图。in...原创 2019-12-20 16:31:44 · 383 阅读 · 0 评论 -
利用鼠标回调函数来在图像上画矩形
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;Mat image;Rect xx;bool draw_or_not=0;RNG g_rng(12345);//利用鼠标回调函数来在图像上画矩形。void mouse_on(in...原创 2019-12-19 16:20:07 · 519 阅读 · 0 评论 -
制作一个四通道的图像,并且保存
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;//制作一个四通道的图像,并且保存。void creat(Mat &image);int main(){ //1。定义一个四通道图。 Mat image(400,400,C...原创 2019-12-19 15:02:01 · 2458 阅读 · 0 评论 -
源码解析:CamShift算法进行兴趣区域追踪
#include <iostream>#include <opencv2/imgcodecs.hpp>#include <opencv2/imgproc.hpp>#include <opencv2/videoio.hpp>#include <opencv2/highgui.hpp>#include <opencv2/vid...原创 2019-12-18 16:28:50 · 420 阅读 · 1 评论 -
Opencv:CommandLineParser的分析
class CV_EXPORTS CommandLineParser{public: /* * 函数功能:构造函数 * 参数: * [in] argc main函数中的第一参数,即运行程序中获得指令的个数 * [in] argv main函数中的第二个参数,即运行程序中指令的内容 * [in] key_map ...原创 2019-12-18 15:51:26 · 161 阅读 · 1 评论 -
阈值函数threshold和adaptivethreshold不同模式和类型的对比
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图 】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果...原创 2019-12-17 17:51:52 · 627 阅读 · 0 评论 -
利用按键,简单的进行缩放图片
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图 】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结...原创 2019-12-17 16:15:03 · 530 阅读 · 0 评论 -
简单的水漫填充算法的各参数效果展示,用滑动条键盘控制
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图 】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结...原创 2019-12-16 17:20:34 · 215 阅读 · 0 评论 -
floodFill函数示例
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图 】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结...原创 2019-12-16 14:56:14 · 284 阅读 · 0 评论 -
双边滤波算法原理
1. 简介图像平滑是一个重要的操作,而且有多种成熟的算法。这里主要简单介绍一下Bilateral方法(双边滤波),这主要是由于前段时间做了SSAO,需要用bilateral blur 算法进行降噪。Bilateral blur相对于传统的高斯blur来说很重要的一个特性即可可以保持边缘(Edge Perseving),这个特点对于一些图像模糊来说很有用。一般的高斯模糊在进行采样时主要考虑...转载 2019-12-15 17:51:05 · 344 阅读 · 0 评论 -
三种线性滤波和两种非线性滤波的对比
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图 】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果...原创 2019-12-15 17:48:08 · 1145 阅读 · 0 评论 -
用两个滑动条来控制滤波方式和滤波效果
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图 】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果...原创 2019-12-15 16:59:08 · 313 阅读 · 0 评论 -
三种线性滤波的效果对比
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果5...原创 2019-12-12 18:03:44 · 449 阅读 · 0 评论 -
利用形态学特征进行角点检测
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果5】...原创 2019-12-12 16:40:04 · 220 阅读 · 0 评论 -
形态学滤波的应用,对一副图像进行开闭,顶帽黑帽,腐蚀膨胀,三个窗口用滑动条来表示,迭代值也是一个滑动条。十字,矩形,ellipse也是可选控制条件。
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果5】...原创 2019-12-09 17:56:07 · 183 阅读 · 0 评论 -
对一副图像进行不同核大小的腐蚀于膨胀,用两个滑动条来进行分别表示腐蚀,膨胀类型和核心大小(3以上)
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果5】...原创 2019-12-09 15:50:09 · 724 阅读 · 0 评论 -
图像的腐蚀
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果5...原创 2019-12-09 14:50:12 · 160 阅读 · 0 评论 -
对一副图像进行三种核的膨胀。
#include<iostream>#include<opencv2/opencv.hpp>#define window1 "【结果1】"#define window "【原图】"#define window2 "【结果2】"#define window3 "【结果3】"#define window4 "【结果4】"#define window5 "【结果5】...原创 2019-12-09 14:44:06 · 341 阅读 · 0 评论