Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用opencvpython封锁圆外区域?_Python 3.x_Image_Opencv_Image Processing_Mask - Fatal编程技术网

Python 3.x 如何使用opencvpython封锁圆外区域?

Python 3.x 如何使用opencvpython封锁圆外区域?,python-3.x,image,opencv,image-processing,mask,Python 3.x,Image,Opencv,Image Processing,Mask,我有一个图像,我正试图用opencv遮住圆圈外的所有区域 在Python/OpenCV中有一种方法 读取输入 获取尺寸并除以2以使用中心和半径 在黑色背景上创建一个填充的白色圆圈作为遮罩 将遮罩应用于图像 保存结果 输入: 遮罩图像: 结果图像: 欢迎使用堆栈溢出!请拿着这本书读一读。请在帖子中加入你自己的努力来解决这个问题。后者最好是在代码中,这称为a.mavelous!:)工作得很好。 import cv2 import numpy as np # read image img

我有一个图像,我正试图用opencv遮住圆圈外的所有区域


在Python/OpenCV中有一种方法

  • 读取输入
  • 获取尺寸并除以2以使用中心和半径
  • 在黑色背景上创建一个填充的白色圆圈作为遮罩
  • 将遮罩应用于图像
  • 保存结果
输入:


遮罩图像:

结果图像:


欢迎使用堆栈溢出!请拿着这本书读一读。请在帖子中加入你自己的努力来解决这个问题。后者最好是在代码中,这称为a.mavelous!:)工作得很好。
import cv2
import numpy as np

# read image
img = cv2.imread('jeep.jpg')
hh, ww = img.shape[:2]
hh2 = hh // 2
ww2 = ww // 2

# define circles
radius = hh2
xc = hh2
yc = ww2

# draw filled circle in white on black background as mask
mask = np.zeros_like(img)
mask = cv2.circle(mask, (xc,yc), radius, (255,255,255), -1)

# apply mask to image
result = cv2.bitwise_and(img, mask)

# save results
cv2.imwrite('jeep_mask.png', mask)
cv2.imwrite('jeep_masked.png', result)

cv2.imshow('image', img)
cv2.imshow('mask', mask)
cv2.imshow('masked image', result)
cv2.waitKey(0)
cv2.destroyAllWindows()