gpt4 book ai didi

python - 图像实际上是如何用 skimage (Python) 保存的

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:47 26 4
gpt4 key购买 nike

我目前正在申请 Zhang-Suen thinning algorithm磨练一些我想稍后追踪的细丝。这需要我输出灰度图像,以便使用 OpenCV 识别对象。

import matplotlib
import matplotlib.pyplot as plt
import skimage.io as io
"load image data"
Img_Original = io.imread( './data/test1.bmp') # Gray image, rgb images need pre-conversion

"Convert gray images to binary images using Otsu's method"
from skimage.filter import threshold_otsu
Otsu_Threshold = threshold_otsu(Img_Original)
BW_Original = Img_Original < Otsu_Threshold # must set object region as 1, background region as 0 !

#...
"Apply the algorithm on images"
BW_Skeleton = zhangSuen(BW_Original)
# BW_Skeleton = BW_Original
"Display the results"
fig, ax = plt.subplots(1, 2)
ax1, ax2 = ax.ravel()
ax1.imshow(BW_Original, cmap=plt.cm.gray)
ax1.set_title('Original binary image')
ax1.axis('off')
ax2.imshow(BW_Skeleton, cmap=plt.cm.gray)
ax2.set_title('Skeleton of the image')
ax2.axis('off')
plt.show()

使用 matplotlib 绘制的图像正是我想要的(黑白)。当我使用 skimage 或 cv2 将输出图像写入文件路径时,我得到了蓝色和红色的相似图像。我唯一的问题是我无法将这张蓝色/红色图像转换为灰度图像!所以本质上,我的输出图像是无用的。如果这是一个微不足道的问题,请原谅我,但是是否有将图像写入文件路径的协议(protocol)?使用这些工具时,在图像类型(即字节、颜色/灰度、格式)方面应该注意什么?提前致谢!

最佳答案

您可以设置保存数据的颜色图,以便当您在 OpenCV 中打开图像时,它是灰度图。

这里有一些样本数据作为例子:

data = np.random.rand(256,256)

您可以保存 data directly :

plt.imsave('test.png', data, cmap = plt.cm.gray)

或者保存整个figure :

plt.savefig('test2.png')

关于python - 图像实际上是如何用 skimage (Python) 保存的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com