首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中遍历多个图像?

如何在python中遍历多个图像?
EN

Stack Overflow用户
提问于 2018-12-04 17:33:06
回答 1查看 95关注 0票数 0

我正在使用python,从事图像处理工作。我使用opencv从图像中提取出唯一的绿色,并计算其像素为绿色和黑色,但只针对一张图像。就像下面的脚本一样,我如何应用脚本中的循环来处理几个(100+)图像。

代码语言:javascript
复制
import cv2
import numpy as np
## Read
img = cv2.imread("camera/2018-11-25_0116.jpg")
## convert to hsv
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)


## mask of green (36,0,0) ~ (70, 255,255)
mask = cv2.inRange(hsv, (50, 50, 50), (70, 255,255))

## slice the green
imask = mask>0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

cv2.imwrite("2018-11-25_0116.jpg", green)

from PIL import Image
im = Image.open('2018-11-25_0116.jpg')

black = 0
green = 0

for pixel in im.getdata():
    if pixel == (0, 0, 0): # if your image is RGB (if RGBA, (0, 0, 0, 255) or so
        black += 1
    else:
        green += 1
print('black=' + str(black)+', green='+str(green))
EN

回答 1

Stack Overflow用户

发布于 2018-12-04 17:41:36

os.walk应该可以解决你的问题。

代码语言:javascript
复制
import cv2
import numpy as np
## Read
for root, dirnames, filenames in os.walk(source):
    for filename in filenames:
            matches.append(os.path.join(root, filename))
for match in matches:
    img = cv2.imread(match)
## convert to hsv

像这样的东西就行了。别忘了定义源变量。这将是您的目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53609687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档