opencv学习笔记(1)

1、图片导入

原图读取:
Mat image = imread(“F:/projects/opencv/opencv1.jpeg”);

读取图片,返回灰度图:
Mat image = imread(“F:/projects/opencv/opencv1.jpeg”, IMREAD_GRAYSCALE | IMREAD_IGNORE_ORIENTATION);

调用imwrite
imwrite(“F:/projects/opencv/opencv1_copy.jpeg”, image);

2、图片显示

此方法:将图片和滑条显示到同一窗口上
namedWindow(“dst”,1);//创建一个窗口

createTrackbar(“contrast”, “dst”, &g_nContrastValue, 300, on_ContrastAndBright);//创建滑条,显示到名为"dst"的窗口上

imshow(“dst”, g_dstImage);//显示图片到dst窗口上

3、图片裁剪

截取原图指定的行列:
Mat crop = image(Range(80,280),Range(150,330)); //(Range(start_row, end_row), Range(start_col, end_col))

利用水平坐标系截取图片
Rect roi(200, 100, 300, 300);前面两个参数为距左上原点的x方向与y方向的距离,后两个参数为延伸的x,y长度
imgCrop = image(roi);

4、改变图片大小

cv::resize(image, imgResize, Size(),0.5,0.5);//按0.5倍比例缩放图片

5、图片区域改变颜色

image(Range(80,280),Range(150,330)) = (0, 0, 255);//改成蓝色

6、图片的仿射变化

仿射变换对应着五种变换:平移,缩放,旋转,翻转,错切

平移:水平方向向右平移250个像素,竖直方向向下平移500个像素
M = np.float32([[1,0,250],[0,1,500]])//目标点
shift_image = cv2.warpAffine(image, M, (w,h))

旋转:(cX,cY)表示旋转中心点,45表示逆时针旋转角度,0.5表示缩放比例
M = cv2.getRotationMatrix2D((cX,cY), 45, 0.5)
image = cv2.warpAffine(image, M, (w,h))

7、图片的翻转

竖直翻转:
flip(srcImage, dstImage, 0);

水平翻转:
flip(srcImage, dstImage, 1);

8、图片的运算

图像相加、相减、相乘与相除的实现

9、图片的与或非

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值