首页 > 解决方案 > 对 OpenCV python 文件夹中的每个图像执行相同的处理

问题描述

我不能在python上编写代码在文件夹中执行相同的过程。文件夹中有大约200张图片,

该程序使用 OpenCV 分析图像中蓝色的比例。

任何人都可以解决这个问题吗?

代码参考:

import cv2
import numpy as np

img1 = cv2.imread(direcory_and_filename_jpg)

hsv1 = cv2.cvtColor(img1, cv2.COLOR_BGR2HSV)

binary1 = cv2.inRange(hsv1, (0, 163, 232), (255, 255, 255))

scum_ratio1 = cv2.countNonZero(binary1) / binary1.size

print('{:.2%}'.format(scum_ratio1))  

环境:

Windows10
python3.6.4
keras2.1.4
tensorflow1.8
GEFORCE GTX 1050Ti GPU

标签: python-3.xopencv

解决方案


您可以使用glob获取文件夹中的所有 jpg 文件

import cv2
import glob

files = glob.glob("Your_images_folder/*.jpg")
for file in files:
    img = cv2.imread(file)

    hsv1 = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    binary1 = cv2.inRange(hsv1, (0, 163, 232), (255, 255, 255))

    scum_ratio1 = cv2.countNonZero(binary1) / binary1.size

    print('{:.2%}'.format(scum_ratio1))

推荐阅读