图像编辑入门
2020.3.8 周日 阴
今天学习的是基础入门部分。一些零碎的知识。
一,简单的几个函数。
1.flip翻转函数 flip(目标图片,结果图片,0或1或负数)//0 左右翻转 1 上下翻转 负数 上下+左右翻转
Mat result; flip(src,result,-1);//输入 输出 1水平翻转 0:垂直翻转 负数:水平+垂直翻转 imshow("Pp1",src); imshow("Pp 2",result);
运行结果:



2,绘图函数,如:circle,ellipse,line,rectangle等。
circle(image,Point(155,110),65,0,2);//目标图像 中心点坐标 半径 颜色 厚度
3.添加文本,putText函数。
putText(image,'This is a text",Point(40,200),FONT_HERSHEY_PLAIN,2.0,255,2);
// 目标图像 文本 文本位置 文本字体 字体大小 字体颜色 文本厚度
4.复制图像的几种方法(src为输入图像 dst为结果图像)
(1)Mat dst(src);//结果图像和原图像指向同一个数据块,原图像改变,结果图像也改变
(2)dst=src;//结果图像和原图像指向同一个数据块,原图像改变,结果图像也改变
(3)src.copyTo(dst);//结果图像是原图像的副本,不随原图像改变而改变
(4)Mat dst=src,clone();//结果图像是原图像的副本,不随原图像改变而改变
5.定义图像的几种方法。
(1)Mat src(240,320,CV_8U,100);//定义240*320的八位无符号的单通道,像素为100的图
(2)Matsrc(240,320,CV_8UC3,Scalar(0.0.255))//定义240*320的八位无符号的3通道的红色的图
(3)Mat src(Size(240,320),CV_8UC3).;
二.小知识点。
1.图像的掩码
掩码是一个8位图像,如果掩码中的某个位置的值不为0,在这个位置的操作就会起作用;如果值为0,那么对图像中的相应位置不起作用。
2.opencv头文件
opencv2\opencv.hpp包含opencv所有的头文件
三,练习。
题目:将一个小的图像,放置到大的图像上,类似于添加logo
1.过程;先读取大的图像与logo图像,然后找出放置logo的位置,然后放置输出。
代码:
Mat src=imread("E:/photo/3.jpg"); if (!src.data) { printf("error\n"); return 0; } Mat logo=imread("E:/photo/logo.jpg"); Mat imageROI(src,Rect(src.cols-logo.cols,src.rows-logo.rows,logo.cols,logo.rows)); logo.copyTo(imageROI); imshow("IMAGEROI",src);
输出:(右下角即为logo)

That`s all .
才发现学习还好,这个写笔记是真费劲,打字太费劲了,还要练练,明天继续。

浙公网安备 33010602011771号