下面是一个示例代码,用于按照每个2x2网格对灰度图像进行像素强度求和和调整大小:
import cv2
import numpy as np
def adjust_image_size(image):
# 获取图像的宽度和高度
height, width = image.shape
# 计算调整后图像的宽度和高度
new_width = width // 2
new_height = height // 2
# 创建一个新的空白图像,用于存储调整后的图像
new_image = np.zeros((new_height, new_width), dtype=np.uint8)
# 遍历每个2x2网格
for y in range(0, new_height):
for x in range(0, new_width):
# 计算当前网格的像素强度总和
total_intensity = int(image[y*2, x*2]) + int(image[y*2, x*2+1]) + int(image[y*2+1, x*2]) + int(image[y*2+1, x*2+1])
# 将像素强度总和平均分配给新图像中的每个像素
new_image[y, x] = total_intensity // 4
return new_image
# 读取灰度图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 调整图像大小
new_image = adjust_image_size(image)
# 显示原始图像和调整后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Adjusted Image', new_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
请注意,这只是一个示例代码,具体的实现方式可能因应用需求而有所不同。