
opencv笔记
会拱白菜的
编程小菜鸟
展开
-
opencv笔记17-图像像素类型转换与归一化
图像像素类型转换与归一化#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;/** opencv中提供了四种归一化方式:* -NORM_MINMAX:根据delta=max-min* -NORM_INF: 根据最大值* -NORM_L1:依据单位向量为1* -NORM_L2:依据和为1* 最常用原创 2022-04-27 22:45:24 · 4960 阅读 · 14 评论 -
opencv笔记16-鼠标操作与响应
鼠标操作与响应#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;Point sp(-1, -1);Point ep(-1, -1);Mat temp;//回调函数static void on_draw(int event, const int x, const int y, int flags, void* userdata){ Mat原创 2022-04-27 22:08:15 · 297 阅读 · 0 评论 -
opencv笔记15-多边形的填充与绘制
多边形的填充与绘制#include<iostream>#include<opencv2/opencv.hpp>#include<vector>using namespace std;using namespace cv;//多边形的填充与绘制void polyline_draw_demo(){ //初始化画布 Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3); //初始化点 Point p1(原创 2022-04-27 21:28:58 · 242 阅读 · 0 评论 -
opencv笔记14-随机数与随机绘制
随机数与随机绘制#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//随机数与随机颜色void random_demo(){ Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);//画布 RNG rng(12345); int width = canvas.cols;//宽度 int heigh原创 2022-04-27 20:54:58 · 4103 阅读 · 0 评论 -
opencv笔记13-图像几何形状的绘制
图像几何形状的绘制#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像几何形状绘制void draw_demo(cv::Mat& image){ //矩形绘制 Rect rect; rect.x = 50; rect.y = 50; rect.width = 100; rect.height = 100; Mat bg原创 2022-04-27 20:32:58 · 1991 阅读 · 0 评论 -
opencv笔记12-图像像素值统计
图像像素值统计#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像像素值统计void pixel_statistic_demo(cv::Mat& image){ double min, max; Point minLoc, maxLoc; vector<Mat>mv; split(image, mv); for原创 2022-04-26 20:15:26 · 365 阅读 · 2 评论 -
opencv笔记11-色彩空间转换2
图像色彩空间转换2#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像色彩空间转换void inrange_demo(cv::Mat& image){ Mat hsv; cvtColor(image, hsv, COLOR_BGR2HSV); //提取mask Mat mask; inRange(hsv, Scalar(35原创 2022-04-26 19:35:35 · 282 阅读 · 0 评论 -
opencv笔记10-通道分离与合并
通道分离与合并#include<iostream>#include<opencv2/opencv.hpp>#include<vector>using namespace std;using namespace cv;//通道分离与合并void channels_demo(Mat& image){ vector<Mat>mv; //分离 split(image, mv); imshow("蓝色", mv[0]); imsh原创 2022-04-26 17:18:34 · 376 阅读 · 0 评论 -
opencv笔记9-图像像素的逻辑操作
图像像素的逻辑操作#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像像素的逻辑操作void bitwirte_demo(cv::Mat& image){ Mat m1 = Mat::zeros(Size(256, 256), CV_8UC3); Mat m2 = Mat::zeros(Size(256, 256), CV_8UC原创 2022-04-26 16:48:00 · 426 阅读 · 0 评论 -
opencv笔记8-自带颜色表操作
自带颜色表操作#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//自带颜色表void color_style_demo(cv::Mat& image){ int colorMap[] = { COLORMAP_AUTUMN, COLORMAP_BONE, COLORMAP_JET, COLORMAP_WINTER,原创 2022-04-26 16:13:39 · 160 阅读 · 0 评论 -
opencv笔记7-键盘响应操作
键盘响应操作#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//键盘响应操作void key_demo(Mat& image){ Mat dst=Mat::zeros(image.size(),image.type()); while (true) { int c = waitKey(100); //cout <<原创 2022-04-26 10:13:46 · 200 阅读 · 4 评论 -
opencv笔记6-滚动条操作
滚动条操作#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//Mat temp, m, dst;//int lightness = 50;static void on_track(int lightness, void*userdata){ /*m = Scalar(lightness, lightness, lightness); ad原创 2022-04-26 00:41:36 · 1294 阅读 · 0 评论 -
opencv笔记5-图像像素的算术操作
图像像素的算术操作#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像像素的算术操作void operators_demo(Mat& image){ //Mat m = Mat::zeros(image.size(), image.type()); Mat dst; add(image, Scalar(50, 50, 50)原创 2022-04-25 17:28:33 · 427 阅读 · 0 评论 -
opcv笔记4-图像像素的读写操作
图像像素的读写操作#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像像素的读写操作void pixel_visit_demo(Mat& image){ for (int row = 0; row < image.rows; row++) { uchar* current_row = image.ptr<uchar原创 2022-04-25 15:17:01 · 367 阅读 · 0 评论 -
opencv笔记3-图像对象的创建与赋值
图像对象的创建与赋值#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像对象的创建与赋值void mat_creation_demo(Mat& image){ Mat c1, c2; c1 = image.clone();//克隆 image.copyTo(c2);//拷贝 //创建空白图像 Mat c3 = Mat::z原创 2022-04-25 10:59:31 · 204 阅读 · 2 评论 -
opencv笔记2-图像色彩空间转换
图像色彩空间转换#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;//图像色彩空间转换void colorSpace(Mat &image){ Mat gray, hsv; //色彩空间转换 cvtColor(image, hsv, COLOR_BGR2HSV); cvtColor(image, gray, COLOR_BGR2G原创 2022-04-25 09:29:01 · 1491 阅读 · 4 评论 -
opencv笔记
1.图片的读取与显示#include<iostream>#include<opencv2/opencv.hpp>using namespace std;using namespace cv;int main(){ string path = "C:\\Users\\四明\\Pictures\\优快云_1650762684526.jpg"; //图片的读取 Mat img = imread(path,IMREAD_ANYCOLOR); if (img.em原创 2022-04-25 09:18:40 · 1148 阅读 · 0 评论