![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习OpenCV
魇餍
你若盛开,蝴蝶自来
展开
-
32.基于距离变换和分水岭的图像分割
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ char intput_win[] = "input image"; char watershed_win[] = "watershed segmentation demo"; cv::Mat src = cv::imread("../../source/segmetation_1.png");原创 2022-03-02 22:06:00 · 142 阅读 · 0 评论 -
31.测试点与多边形关系
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ const int r = 100; cv::Mat src = cv::Mat::zeros(r * 4, r * 4, CV_8UC1); std::vector<cv::Point2f> vert(6); vert[0] = cv::Point(3 * r / 2,.原创 2022-03-02 22:05:26 · 125 阅读 · 0 评论 -
30.轮廓周围绘制矩形框和圆形框
#include <opencv2/opencv.hpp>#include <iostream>cv::Mat src, gray_src, drawImg;int threshold_v = 100;int threshold_max = 255;const char* output_win = "rectangle-demo";cv::RNG rng(12345);void Contours_CallBack(int, void*);int main(int原创 2022-02-22 22:00:55 · 95 阅读 · 0 评论 -
29.凸包 (Convex hull)
#include <opencv2/opencv.hpp>#include <iostream>#include <vector>cv::Mat src, dst;int threshold_value = 127;int threshold_max = 255;const char* input_win = "input image";const char* output_win = "output image";cv::RNG rng(1234);原创 2022-02-21 21:19:50 · 114 阅读 · 0 评论 -
28.轮廓发现
#include <opencv2/opencv.hpp>#include <iostream>int threshold_value = 100;int threshold_max = 255;cv::RNG rng;cv::Mat src, dst;void Demo_Contours(int, void*);int main(int argc, char** argv){ src = cv::imread("../../source/happyfis原创 2022-02-17 22:06:07 · 1642 阅读 · 0 评论 -
27.模板匹配(template match)
#include <opencv2/opencv.hpp>#include <iostream>cv::Mat src, temp, dst;int match_method = cv::TM_SQDIFF;int max_track = 5;const char* INPUT_T = "input image";const char* OUTPUT_T = "result image";const char* match_t = "template match-de原创 2022-02-16 23:03:02 · 1451 阅读 · 0 评论 -
26.直方图反向投影
#include <opencv2/opencv.hpp>#include <iostream>cv::Mat src, hsv, hue;int bins = 12;void Hist_And_Backproject(int, void*);int main(int argc, char** argv){ src = cv::imread("../../source/project.png"); if(src.empty()){ std原创 2022-02-15 22:18:36 · 1340 阅读 · 0 评论 -
25.直方图比较
#include <opencv4/opencv2/opencv.hpp>#include <iostream>#include <math.h>std::string convertToString(double d);int main(int argc, char** argv){ cv::Mat src1 = cv::imread("../../source/lena.png"); cv::Mat src2 = cv::imr...原创 2022-02-14 22:14:09 · 508 阅读 · 0 评论 -
24.直方图计算
#include <opencv4/opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("/home/long2double/Desktop/OpenCV_Study/source/lena.png"); if(src.empty()){ std::cout << "could not load原创 2022-02-14 21:08:41 · 627 阅读 · 0 评论 -
23.直方图均衡化
#include <opencv4/opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("/home/long2double/Desktop/OpenCV_Study/source/lena.png"); if(src.empty()){ std::cout << "could not load原创 2022-02-14 20:29:04 · 415 阅读 · 0 评论 -
22.像素重映射
#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;Mat src, dst, map_x, map_y;const char* OUTPUT_TITLE = "remap demo";int index = 0;void update_map(void);int main(int argc, char** argv) { src = i原创 2022-02-09 21:45:21 · 84 阅读 · 0 评论 -
21.霍夫圆变换
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/circle.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; r原创 2022-02-09 18:31:16 · 74 阅读 · 0 评论 -
20.霍夫直线变换
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/line1.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; re原创 2022-02-09 18:03:37 · 1562 阅读 · 0 评论 -
19.Canny边缘检测
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-02-09 16:15:05 · 82 阅读 · 0 评论 -
18.Laplance算子
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-02-09 15:54:11 · 1333 阅读 · 0 评论 -
17.sobel/scharr算子
https://blog.csdn.net/kobeyu652453/article/details/107150485#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout <&原创 2022-02-09 15:40:52 · 1201 阅读 · 0 评论 -
16.边缘处理
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-02-05 17:36:54 · 950 阅读 · 0 评论 -
15.自定义线性滤波——rebert、sobel、拉普拉斯算子
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-02-05 17:22:14 · 745 阅读 · 0 评论 -
14.基本阈值操作
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image ..." << std::endl; re原创 2022-02-05 16:06:18 · 718 阅读 · 0 评论 -
13.图像金字塔——上下采样、高斯不同
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image ..." << std::endl; re原创 2022-02-05 15:55:08 · 961 阅读 · 0 评论 -
12.形态学操作作用-提取水平和垂直线
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/line.png"); if(src.empty()){ std::cout << "could not load image ...." << std::endl; .原创 2022-02-04 20:08:41 · 764 阅读 · 0 评论 -
11.形态学操作
1.开操作-open2.闭操作-close3.形态学梯度-Morphological Gradient4.顶帽-top hat5.黑帽-black hat原创 2022-02-04 16:43:13 · 671 阅读 · 0 评论 -
10.膨胀和腐蚀
膨胀:以最大值替代锚点重叠下图像的像素值腐蚀:以最小值替代锚点重叠下图像的像素值#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** agrv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load原创 2022-02-04 15:31:12 · 282 阅读 · 0 评论 -
9.图片模糊——平滑模糊、高斯模糊、中值滤波、双边滤波
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** agrv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-02-04 14:08:56 · 911 阅读 · 0 评论 -
8.1随机画线
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::RNG rng; cv::Point p1, p2; cv::Mat plot = cv::Mat::zeros(cv::Size(800, 800), CV_8UC3); for(int i = 1; i < 10000; i++){ p1.x = rng原创 2022-01-24 21:19:07 · 2054 阅读 · 0 评论 -
8.0.绘图与文字
#include <opencv2/opencv.hpp>#include <iostream>void MyLine(cv::Mat &tmp);void MyRectangle(cv::Mat &tmp);void MyCircle(cv::Mat &tmp);void MyEllipse(cv::Mat &tmp);int main(int argc, char** argv){ cv::Mat src = cv::imr原创 2022-01-24 20:53:52 · 1772 阅读 · 0 评论 -
7.调整图像的亮度和对比度
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-01-24 19:45:30 · 2012 阅读 · 0 评论 -
6.图像混合
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src1 = cv::imread("../../source/lena.png"); cv::Mat src2 = cv::imread("../../source/matlab.jpeg"); if(src1.empty() or src2.empty()){原创 2022-01-22 22:26:14 · 658 阅读 · 0 评论 -
5.图像操作
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image ..." << std::endl; re原创 2022-01-22 21:40:02 · 798 阅读 · 0 评论 -
4.Mat对象
#include <opencv2/opencv.hpp>#include <iostream> using namespace cv;int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image ..." <<原创 2022-01-20 23:14:44 · 502 阅读 · 0 评论 -
3.矩阵的掩码操作以及程序执行时间
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image..." << std::endl; ret原创 2022-01-19 21:50:37 · 1065 阅读 · 0 评论 -
1.加载、修改、保存
#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("../../source/lena.png"); if(src.empty()){ std::cout << "could not load image ..." << std::endl; re原创 2022-01-18 22:28:51 · 1433 阅读 · 0 评论 -
0.OpenCV_Start
#include <opencv4/opencv2/opencv.hpp>#include <iostream>int main(int argc, char** argv){ cv::Mat src = cv::imread("/home/long2double/Desktop/OpenCV_Study/source/lena.png"); if(src.empty()){ std::cout << "could not load原创 2022-01-18 21:58:31 · 776 阅读 · 0 评论