赞
踩
今天看了b站贾志刚的课,觉得不错,特地做学习笔记来和小伙伴分享
贾志刚的这个好像是2.0版本,30小时的,语言更加精炼,适合初级入门学习
第一节是常规安装 看他的步骤装就行了,记得配置完点应用再点确定,我第一次就是 没点然后就失败了,又得重配置一次
第二节就是基础的imread读取 imshow输出
Mat src = imread("E:/download/images/test.png",IMREAD_GRAYSCALE);//两个参数imread为读取 im表 image
//imread读取进来以Mat形式存在。Mat表是矩阵 表示二维存储 可逗号加 IMREAD_GRAYSCALE表示灰度
imshow("输入窗口", src);//imshow有两个参数 第一个参数表示名称 第二个表示数据对象
//imshow只支持256位显示和浮点数的显示
输入图片太大,看不见全貌的话 增加代码
namedWindow("输入窗口", WINDOW_FREERATIO);//名字 flag 底下show名称和这个相同
//做的是一个尺寸调整 太大的调整
注意名字 flag 底下show名称和这个相同imshow("输入窗口", src);\
最好能加一个if条件判断错误
if (src.empty()) {
printf("could not load image...\n");
return -1;
}
接下来是第三节 图像色彩空间转换
思路和cpp平时项目相同 一个.h写一类,然后.cpp来实现函数,再将.cpp写入main.cpp文件中,视为添加函数
quick.h
- #pragma once
-
- #include<opencv2/opencv.hpp>
- using namespace cv;
- class QuickDemo {
- public:
- void colorSpace_Demo(Mat &image);
- };
-
quickdemo.cpp
- #include<quick.h>
-
- void QuickDemo::colorSpace_Demo(Mat &image) {
- Mat gray, hsv;//灰度格式 和hsv格式
-
- //cv2.cvtcolor函数是Python OpenCV中一个非常常用的函数,
- //主要作用是将图像从一种颜色空间转换为另一种颜色空间
- cvtColor(image, hsv, COLOR_BGR2HSV);//RGB即是代表红、绿、蓝三个通道的颜色
- //HSV三通道 H范围 0->180 S,V都是零到255 H和S表示颜色,V通道决定亮度
- cvtColor(image, gray, COLOR_BGR2GRAY);
- imshow("HSV", hsv);
- imshow("灰度", gray);
- //图像保存 imwrite
- imwrite("E:/hsv.jpg",hsv);//三个参数 保存目录 对象
- imwrite("E:/gray.jpg",gray);
- }
test01.cpp
- #include<opencv2/opencv.hpp>
- #include<quick.h>
- #include<iostream>
-
- using namespace cv;
- using namespace std;
- //imread和imshow
- int main(int argc, char** argv) {
- Mat src = imread("E:/download/images/test.png");//两个参数imread为读取 im表 image
- //imread读取进来以Mat形式存在。Mat表是矩阵 表示二维存储 可逗号加 IMREAD_GRAYSCALE表示灰度
-
- if (src.empty()) {
- printf("could not load image...\n");
- return -1;
- }
- namedWindow("输入窗口", WINDOW_FREERATIO);//名字 flag 底下show名称和这个相同
- //做的是一个尺寸调整 太大的调整
-
- imshow("输入窗口", src);//imshow有两个参数 第一个参数表示名称 第二个表示数据对象
- //imshow只支持256位显示和浮点数的显示
-
- QuickDemo qd;//quickdemo.cpp实现
- qd.colorSpace_Demo(src);//调用函数
-
- waitKey(0);//会阻塞,类似于pause。上面的图就会一直显示在那
- //waitKey(1);表示停顿一毫秒 以此类推
- destroyAllWindows();//对前面创建的显示窗口都要销毁掉
- return 0;
- }
实现效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。