东莞能做网站的公司,wordpress数据表更换域名,网站自适应手机代码,第三方平台推广一、OpenCv图像读取与显示
1.图像的读取与显示
cv.imread()
图像读取#xff0c;第一个参数是照片的位置一般是完整路径#xff0c;第二个参数是指定图片输出的样式
cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。#xff08;默认模式#xff09;。cv.I…一、OpenCv图像读取与显示
1.图像的读取与显示
cv.imread()
图像读取第一个参数是照片的位置一般是完整路径第二个参数是指定图片输出的样式
cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。默认模式。cv.IMREAD_GRAYSCALE:以灰度模式加载图像cv.IMREAD_UNCHANGED:加载图像包括alpha通道
cv.imshow
使用 “cv.imshow”将读入进去的图片展示出来照片随窗口大小改变。第一个参数是窗口名称是一个字符创第二个参数是我们展示的对象
cv2.wait()
cv2.wait是OpenCV库中的一个函数用于等待用户按键输入。它的参数是一个整数表示等待键盘输入的时间以毫秒为单位。如果在这个时间内用户按下了任意键函数将返回按下的键的ASCII码如果在指定的时间内没有按键输入函数将返回-1。输入0表示窗口一直打开知道按下任意键。
cv2.destoryAllWindows()是 OpenCV 库中的一个函数用于关闭所有由 cv2.imshow(), cv2.namedWindow(), cv2.createWindow() 等函数创建的窗口
二、图片颜色的转变
图片灰度
1.在读取图片的时候可以直接将图片进行灰度
如
import cv2img cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)2.调用cvtColor函数将图片进行灰度
import cv2img cv2.imread(image.jpg)
gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)图像尺寸改变
cv.resize
第一个参数是图片名字第二个参数是想要调整的长和宽
import cv2# 读取图像
image cv2.imread(input_image.jpg)# 设置新的图像尺寸
new_width 500
new_height 300# 调整图像尺寸
resized_image cv2.resize(image, (new_width, new_height))# 显示原始图像和调整后的图像
cv2.imshow(Original Image, image)
cv2.imshow(Resized Image, resized_image)# 等待按键关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()图片裁剪以裁剪左边保留右边图像为例
#D:\abcd\task3.jpg
import cv2# 读取图像
image cv2.imread(D:/abcd/task3.jpg)# 获取图像的宽度和高度
height, width image.shape[:2]# 设置裁剪区域的左上角坐标和宽高
x width // 2 # 将图像分为左右两部分取中间位置作为分割点
y 0
width width - x # 裁剪宽度为原图宽度减去左侧部分的宽度
height height# 裁剪图像
cropped_image image[y:yheight, x:xwidth]# 显示原始图像和裁剪后的图像
cv2.imshow(Original Image, image)
cv2.imshow(Cropped Image, cropped_image)# 等待按键关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()# 保存裁剪后的图像
cv2.imwrite(output_image.jpg, cropped_image)OpenCv的模版匹配
模版匹配就是在大图像中找小图像然后在大图像中将小图像给圈出来
基本原理就是通过滑动模板图像template在源图像source上计算每个位置的匹配得分从而找到最匹配的位置。
在opencv中模版匹配一般是由matchTemplate来实现的
result cv2.matchTemplate(image, template, method)image: 源图像在其中搜索匹配区域。template: 模板图像需要匹配的图像部分。method: 匹配方法常用的方法有 cv2.TM_SQDIFF: 平方差匹配。cv2.TM_SQDIFF_NORMED: 归一化平方差匹配。cv2.TM_CCORR: 相关匹配。cv2.TM_CCORR_NORMED: 归一化相关匹配。cv2.TM_CCOEFF: 相关系数匹配。cv2.TM_CCOEFF_NORMED: 归一化相关系数匹配。 # 导入相关库
import cv2
import numpy as np# 读取原始图像和模版图像
image cv2.imread(D:/abcd/image.png, cv2.IMREAD_COLOR)
template cv2.imread(D:/abcd/template.png, cv2.IMREAD_COLOR)# 用cv2.matchTemplate进行模版匹配
result cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)# 获取最佳的匹配位置
min_val, max_val, min_loc, max_loc cv2.minMaxLoc(result)
top_left max_loc
bottom_right (top_left[0] template.shape[1], top_left[1] template.shape[0])# 在原始图片上绘制矩形框来标记匹配的位置0,255,0是矩形框的颜色
cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2)# 显示结果并保持
cv2.imshow(Matched Image, image)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite(result.jpg, image)
参考文献OpenCV 的模板匹配_opencv 模板匹配-CSDN博客