python计算图片img1和img2的比值
时间: 2024-05-13 11:19:32 浏览: 167
首先,需要使用Python中的PIL库(Python Imaging Library)来打开和处理图像。
以下是一个计算两张图片比值的示例代码:
```python
from PIL import Image
# 打开图片
img1 = Image.open('img1.jpg')
img2 = Image.open('img2.jpg')
# 获取图片尺寸
width1, height1 = img1.size
width2, height2 = img2.size
# 计算比值
ratio = float(width1 * height1) / float(width2 * height2)
print("img1 与 img2 的比值为:", ratio)
```
请注意,这个计算比值的示例代码假设img1和img2的尺寸相同。如果两张图片尺寸不同,你需要在计算比值之前将它们进行缩放或者裁剪,使它们的尺寸相同。
相关问题
python计算图片img1和img2各个像素的比值
假设你已经使用Pillow库读取了这两张图片,可以使用以下代码来计算它们各个像素的比值:
```python
from PIL import Image
# 读取图片
img1 = Image.open('img1.jpg')
img2 = Image.open('img2.jpg')
# 获取图片尺寸
width, height = img1.size
# 计算每个像素的比值
for x in range(width):
for y in range(height):
# 获取每个像素的RGB值
r1, g1, b1 = img1.getpixel((x, y))
r2, g2, b2 = img2.getpixel((x, y))
# 计算比值
r_ratio = r1 / r2
g_ratio = g1 / g2
b_ratio = b1 / b2
# 打印结果
print(f'Pixel({x}, {y}): R ratio={r_ratio:.2f}, G ratio={g_ratio:.2f}, B ratio={b_ratio:.2f}')
```
上述代码中,我们使用了 `getpixel()` 方法来获取每个像素的RGB值,然后计算它们的比值,并打印结果。注意,这里假设两张图片的尺寸相同,如果不同需要进行相应的处理。
opencv python 计算二值化图像黑白像素的比值
好的,关于计算二值化图像黑白像素的比值,你可以使用以下代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转为灰度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对图像进行二值化
ret, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
# 统计黑白像素的个数
black_px = cv2.countNonZero(thresh == 0)
white_px = cv2.countNonZero(thresh == 255)
# 计算黑白像素的比值
ratio = black_px / white_px
# 打印比值
print(ratio)
```
以上代码中,`cv2.countNonZero` 函数可以统计二值化图像中非零像素的数量,因此通过 `thresh == 0` 和 `thresh == 255` 可以分别统计黑白像素的数量。最后计算比值即可。
阅读全文