文章目录
- 一、图像融合
- 二、图像 ROI 区域定位
- 三、图像属性
- 3.1 shape
- 3.2 size
- 3.3 dtype
- 四、图像通道分离及合并
- 4.1、split()函数
- 4.2 merge()函数
- 五、图像类型转换
一、图像融合
图像融合通常是指多张图像的信息进行融合,从而获得信息更丰富的结果,能够帮助人们观察或计算机处理。以下是将两张不清晰的图像融合得到更清晰的效果图。
图像融合是在图像加法的基础上增加了系数和亮度调节量,它与图像的主要区别如下:
- 图像加法:目标图像 = 图像 1 + 图像 2
- 图像融合:目标图像 = 图像 1 × 系数 1 + 图像 2 × 系数 2 + 亮度调节量
在 OpenCV 中,图像融合主要调用 addWeighted()函数实现,其原型如下。需要注意的是,两张融合图像的像素大小必须一致,参数 gamma 不能省略。
dst = cv2.addWeighted(scr1, alpha, src2, beta, gamma)
dst = src1 * alpha + src2 * beta + gamma
#coding:utf-8
import cv2
import numpy as np
import matplotlib.pyplot as plt
#读取图片
src1 = cv2.imread('lena.webp')
src2 = cv2.imread('lena2.jpg')
#图像融合
result = cv2.addWeighted(src1, 1, src2, 1, 0)
#显示图像
cv2.imshow("src1", src1)
cv2.imshow("src2", src2)
cv2.imshow("result", result)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
二、图像 ROI 区域定位
ROI(Region of Interest)表示感兴趣区域,是指从被处理图像以方框、圆形、椭圆、不规则多边形等方式勾勒出需要处理的区域。可以通过各种算子(Operator)和函数求得感兴趣 ROI 区域,被广泛应用于热点地图、人脸识别、图像分割等领域。如图获取 Lena 图的脸部轮廓。
通过像素矩阵可以直接获取 ROI 区域,如 img[200:400, 200:400]
# -*- coding: utf-8 -*-
# @Time : 2023/9/12 13:49
# @Author : admin vegetate
# @File : img_roi.py
# @Software: PyCharmimport cv2
import numpy as np
#读取图片
img = cv2.imread("lena.webp")
#定义 200×200 矩阵 3 对应 BGR
face = np.ones((200, 200, 3))
#显示原始图像
cv