python opencv3图像处理课程学习——ROI与泛洪填充
1.用ROI提取感兴趣区域
import cv2 as cv
import numpy as np
src = cv.imread("C:/Users/ASUS/Desktop/11/2.jpg") # 从目录中读取图片
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE) # 通过opencv的GUI将图片显示出来
cv.imshow("image1", src) # 在窗口中将图片显示出来,通过名字“src”找到图片
face = src[10:250, 60:200] # 用ROI提取[10:250, 60:200]区域
cv.imshow('face', face)
cv.waitKey(0)
cv.destroyAllWindows()
输出
2.
import cv2 as cv
import numpy as np
src = cv.imread("C:/Users/ASUS/Desktop/11/2.jpg") # 从目录中读取图片
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE) # 通过opencv的GUI将图片显示出来
cv.imshow("image1", src) # 在窗口中将图片显示出来,通过名字“src”找到图片
face = src[10:200, 60:200] # 用ROI提取[50:250, 100:200]区域
gray = cv.cvtColor(face, cv.COLOR_BGR2GRAY) # 将RGB空间转换为灰度空间
backface = cv.cvtColor(gray, cv.COLOR_GRAY2BGR) # 将灰度空间转回RGB空间
src[10:200, 60:200] = backface
cv.imshow('face', src)
cv.waitKey(0)
cv.destroyAllWindows()
输出
3.彩色图像填充
import cv2 as cv
import numpy as np
def fill_color_demo(image):
copyImg = image.copy() # 复制原始图像
h, w = image.shape[:2]
mask = np.zeros([h+2, w+2], np.uint8)
cv.floodFill(copyImg, mask, (50, 50), (0, 255, 255), (95, 95, 95), (30, 30, 30), cv.FLOODFILL_FIXED_RANGE)
# (30, 30)是要填充的起始位置,最低要填充的像素范围为在(50, 50)中取当前的像素值-95,最高范围是当前像素值+30
# (0, 255, 255)是黄色,cv.FLOODFILL_FIXED_RANGE是填充方法,表示在范围内的全填充黄色
cv.imshow("fill-color-demo", copyImg)
src = cv.imread("C:/Users/ASUS/Desktop/11/2.jpg") # 从目录中读取图片
cv.namedWindow("image1", cv.WINDOW_AUTOSIZE) # 通过opencv的GUI将图片显示出来
cv.imshow("image1", src) # 在窗口中将图片显示出来,通过名字“src”找到图片
fill_color_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()
输出
4.二值图像填充
import cv2 as cv
import numpy as np
def fill_binary():
image = np.zeros([400, 400, 3], np.uint8) # 创建图
image[100:300, 100:300, :] = 255 # 在长100-300和宽100-300,3个通道的像素值赋值为255,
cv.imshow("fill_binary", image)
mask = np.ones([402, 402, 1], np.uint8)
mask[101:301, 101:301] = 0 # 初始为0,因为只有不为1的区域才会被填充
# 从(200, 200)处开始,将image填充为红色
cv.floodFill(image, mask, (200, 200), (0, 0, 255), cv.FLOODFILL_MASK_ONLY)
cv.imshow("filled binary", image)
fill_binary()
cv.waitKey(0)
cv.destroyAllWindows()
输出