Opencv新手入门教程
_BreadWinner
这个作者不懒,什么也没留下。
展开
-
OpenCV入门(十四):鼠标响应
通过鼠标画框,从图像中截取ROI,并保存。原创 2023-01-08 13:11:28 · 168 阅读 · 1 评论 -
OpenCV入门(十三):常用图形绘制
opencv 直线 矩形 圆形 椭圆 扇形 弧 绘制原创 2022-09-24 12:58:44 · 946 阅读 · 0 评论 -
OpenCV入门(十二):图像像素点统计
统计图像像素点最大值、最小值、均值、标准差原创 2022-09-10 21:50:34 · 1592 阅读 · 0 评论 -
OpenCV入门(十一):感兴趣区域提取
opencv入门,如何分割出纯色背景下的月亮。原创 2022-09-10 20:54:40 · 2023 阅读 · 0 评论 -
OpenCV入门(十):图像通道分离与合并
void OpencvExample::Example_Channels(Mat &image){ Mat dst; vector<Mat>mv; split(image, mv); imshow("蓝色", mv[0]); imshow("绿色", mv[1]); imshow("红色", mv[2]); mv[0] = 0; mv[2] = 0; merge(mv, dst); imshow("dst", dst);}原创 2022-04-05 18:13:31 · 3072 阅读 · 0 评论 -
OpenCV入门(九):图像像素逻辑操作
void OpencvExample::Example_LogiclOpt(Mat &image){ Mat anddst, ordst, srcnotdst, xordst; Mat m1 = Mat::zeros(Size(256, 256), CV_8UC3); Mat m2 = Mat::zeros(Size(256, 256), CV_8UC3); rectangle(m1, Rect(100, 100, 80, 80), Scalar(255, 0, 0), -1, LINE_原创 2022-04-05 15:08:01 · 2557 阅读 · 0 评论 -
OpenCV入门(八):颜色映射
/* Color Map */void OpencvExample::Example_ColorLut(Mat &image){ Mat dst; int i = 0; int colormap[21] = { COLORMAP_AUTUMN, //!< ![autumn](pics/colormaps/colorscale_autumn.jpg) COLORMAP_BONE, //!< ![bone](pics/colormaps/colorscale_bone.jp原创 2022-03-06 22:16:24 · 353 阅读 · 0 评论 -
OpenCV入门(七):键盘响应
opencv中waitKey函数,在等待ms,返回键盘按键对应的ASCII码。若超过等待时间,则返回-1;ASCII码表如下:链接: ASCII表./* 键盘响应 */void OpencvExample::Example_WaitKey(Mat &image){ Mat dst = Mat::zeros(image.size(), image.type()); while (true) { int key = waitKey(100); cout << key &原创 2022-03-06 14:58:01 · 4256 阅读 · 0 评论 -
OpenCV入门(六):滚动条控制图像亮度与对比度
/* TrackBar 使用 */static void calllightness(int b, void* userdata){ Mat image = *((Mat*)userdata); Mat dst = Mat::zeros(image.size(), image.type()); /* 带权重的两图像相加 */ addWeighted(image, 1.0, 0, 0, b, dst); imshow("ImageEnhance", dst);}static void ca原创 2022-03-05 00:01:37 · 2284 阅读 · 1 评论 -
OpenCV入门(五):图像算术运算
/* 像素点算术操作 */void OpencvExample::Example_ArithmeticOperation(Mat &image){ Mat src0 = image; Mat src1 = Mat::zeros(image.size(),image.type()); /* addition */ src1 = Scalar(50,50,50); Mat addres = Mat::zeros(image.size(), image.type()); add(src0原创 2022-03-01 23:22:38 · 2437 阅读 · 0 评论 -
OpenCV入门(四):像素点访问与操作
可以使用数组或指针的方式对图像像素点进行访问。void OpencvExample::Example_PixelOperation(Mat &image){ int channel = image.channels(); int h = image.rows; int w = image.cols; cout <<"height:" <<h <<","<< "width:"<<w << endl;/* 以数组方式原创 2022-02-27 21:58:18 · 1552 阅读 · 0 评论 -
OpenCV入门(三):图像对象的创建与赋值
OpenCV中图像以Mat类的格式存储。Mat类型将图像的存储分为两部分。一部分为图像头,包括图像的信息,如大小,格式等。第二部分为图像的数据矩阵,即每个像素点的值。对Mat对象赋值时,clone 与 copyto 会将图像生成一个新的图像对象。而其他赋值方式仅仅复制的图像头,图像的数据存储地址没变。下面例子中,改变img2 img3都不会影响img1,而改变img4 img5,img1则会跟随改变。void OpencvExample::Example_MatCreation(){ Mat img原创 2022-02-26 21:08:16 · 1368 阅读 · 0 评论 -
OpenCV入门(二):图像色彩空间转换与图像保存
为方便不同入门例子的说明,新增以下例子类:class OpencvExample{public: void Example_ColorSpace(Mat &image);private:};//example.h#pragma once#include <opencv2/opencv.hpp>using namespace cv;class OpencvExample{public: void Example_ColorSpace(Mat &原创 2022-02-15 22:19:59 · 1522 阅读 · 0 评论 -
OpenCV入门(一):图像读取与显示
#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;int main(){ Mat src = imread("D:/images/age_gender.jpg",IMREAD_GRAYSCALE); if (src.empty()) { printf("Can't load image\n"); } namedWindow("In原创 2022-02-14 23:17:46 · 1217 阅读 · 0 评论 -
Opencv4.2.0+VS2015配置
Opencv4.2.0 + Visual Studio 2015 开发环境配置原创 2022-02-13 22:26:47 · 1210 阅读 · 0 评论