用numpy数组创建掩模,在图像中心取出大小为80×120的图像
时间: 2023-03-28 10:03:42 浏览: 477
可以使用以下代码创建掩模并在图像中心取出大小为80×120的图像:
import numpy as np
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 创建掩模
mask = np.zeros(img.shape[:2], dtype=np.uint8)
mask[int(img.shape[]/2-40):int(img.shape[]/2+40), int(img.shape[1]/2-60):int(img.shape[1]/2+60)] = 255
# 应用掩模
masked_img = cv2.bitwise_and(img, img, mask=mask)
# 取出中心图像
center_img = masked_img[int(img.shape[]/2-40):int(img.shape[]/2+40), int(img.shape[1]/2-60):int(img.shape[1]/2+60)]
# 显示结果
cv2.imshow('center image', center_img)
cv2.waitKey()
cv2.destroyAllWindows()
相关问题
选择一幅彩色图像,用NumPy数组创建掩模,在图像中心取出大小为80x120的图像
在Python中,你可以使用PIL库读取彩色图像,然后用NumPy处理这些数据。首先,你需要安装Pillow库,如果还没有安装可以使用`pip install pillow`命令。下面是一个步骤指南:
1. 导入必要的库:
```python
import numpy as np
from PIL import Image
```
2. 读取彩色图像:
```python
image_path = 'your_image_path.jpg' # 替换为你图片的实际路径
img = Image.open(image_path)
```
3. 将图像转换为NumPy数组,并获取其尺寸信息:
```python
array_img = np.array(img) # 现在img是numpy数组了
width, height = array_img.shape[:2] # 获取宽度和高度
```
4. 创建一个中心区域的掩码,大小为80x120:
```python
mask_size = (80, 120)
center_x, center_y = width // 2, height // 2
top_left_x = max(center_x - mask_size[0] // 2, 0)
top_left_y = max(center_y - mask_size[1] // 2, 0)
mask = np.zeros_like(array_img)
mask[top_left_y:top_left_y + mask_size[1], top_left_x:top_left_x + mask_size[0]] = 1
```
5. 使用掩码提取中心部分的图像:
```python
centered_image = array_img * mask
```
现在`centered_image`就是你在图像中心取出的大小为80x120的图像。
openc用numpy数组创建掩模,在图像中间取出大小为80×120的图像
可以使用以下代码实现:
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 创建掩模
mask = np.zeros(img.shape[:2], dtype=np.uint8)
mask[img.shape[]//2-40:img.shape[]//2+40, img.shape[1]//2-60:img.shape[1]//2+60] = 255
# 应用掩模
masked_img = cv2.bitwise_and(img, img, mask=mask)
# 取出图像
cropped_img = masked_img[img.shape[]//2-40:img.shape[]//2+40, img.shape[1]//2-60:img.shape[1]//2+60]
# 显示图像
cv2.imshow('Cropped Image', cropped_img)
cv2.waitKey()
cv2.destroyAllWindows()
阅读全文