作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个小脚本,将RGB图像转换为灰色。
当我以当前目录的终端形式运行脚本(python3 image.py
)时,它可以很好地工作。
但是,当我从像python3 proc/image.py
这样的较低目录中朗读它时,它会创建一个大小为0字节的结果图像。
这是image.py
的代码
import os
import numpy as np
import cv2
def sw(name):
dir_path = os.path.dirname(os.path.realpath(__file__))
img_path = os.path.join(dir_path, name)
print(img_path)
img = cv2.imread(name, 0)
rslt_path = os.path.join(dir_path, "schwarn_g.jpeg")
print(rslt_path)
cv2.imwrite(rslt_path, img)
return img
if __name__ == "__main__":
sw('schwarn.jpeg')
最佳答案
您正在使用以下行打开要使用的image
:
img = cv2.imread(name, 0)
script
总是使用以下行调用
function
:
sw('schwarn.jpeg')
img
的目录中打开
schwarn.jpg
:
script
。您所有的
os.path
联接都会影响
grayscale
图像的输出位置-而不是原始图像的读取位置。
img
相同的
directory
打开
script
,因此,当您在与
img
相同的目录中运行
script
时,只能加载。因此,当您尝试在其他
img
中运行
script
时,无法读取
directory
并且生成的
img
图像不包含任何内容...
关于python - Python OpenCV写入0字节图像取决于执行目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46873911/
我是一名优秀的程序员,十分优秀!