我是Python的初学者,开始尝试编写代码来分析喷雾图像并绘制"灰度值"以查看喷雾模式。
有一段时间我有这个代码:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
filepath = "flat2.jpg"
img = Image.open(filepath).convert('L')
WIDTH, HEIGHT = img.size
pix = img.load()
data = np.asarray(img.getdata())
data = data.reshape((HEIGHT,WIDTH))
fig,ax = plt.subplots()
reduced_data = data.mean(axis=0)
ax.plot(reduced_data)
plt.show()
然而,这段代码分析了整个图像,我只需要一条特定的行,比如329行之类的。作为缓解措施,我也尝试裁剪图像,但没有成功。
我正在尝试做一个类似工具";绘图配置文件";关于图像J.
显然,我只是";制成";这段代码得到了一些用户的帮助。
平风扇喷雾图像。
线条和图像J绘图剖面
由于几个小时后没有人向我们提供正确有效的解决方案样本,以下是作物缓解:
from PIL import Image
filepath = 'flat2.jpg'
img = Image.open(filepath).convert('L')
WIDTH, HEIGHT = img.size
LINE = 329 # <---- put here your desired line number
img = img.crop( (0, LINE, WIDTH, LINE+1 ) ).save('crop.png')
img = Image.open('crop.png')
# do stuff
# WIDTH, HEIGHT = img.size
# pix = img.load()
# etc
它应该起作用,但它根本不是一个正确有效的解决方案。我认为应该通过numpy
等
至于crop()
函数,这是一件非常简单的事情。它只是从给定的图像中获取一些矩形区域(框(。括号内的四个数字(x1,y1,x2,y2(是该框的坐标元组。左上角(x1,y1(右下角(x2,y2(。唯一可能的问题是,如果这些坐标中的任何一个超出了图像大小。