python3结合opencv挑出许多图片中的苹果图片代码
这里提供一个简单的例子,使用OpenCV读取文件夹中的所有图片,然后使用颜色分割法挑出其中的苹果图片。
import cv2
import os
# 设置要读取的文件夹路径
folder_path = "path/to/folder"
# 读取文件夹中所有图片
img_list = []
for file_name in os.listdir(folder_path):
if file_name.endswith(".jpg") or file_name.endswith(".png"):
img_path = os.path.join(folder_path, file_name)
img = cv2.imread(img_path)
img_list.append(img)
# 定义颜色范围,只挑选红色区域
lower_red = (0, 50, 50)
upper_red = (10, 255, 255)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
# 挑选苹果图片
apple_list = []
for img in img_list:
# 转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 创建掩膜
mask = cv2.inRange(hsv, lower_red, upper_red)
mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)
# 找到苹果轮廓
contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for contour in contours:
area = cv2.contourArea(contour)
if area > 1000: # 过滤掉过小的轮廓
x, y, w, h = cv2.boundingRect(contour)
apple_img = img[y:y+h, x:x+w]
apple_list.append(apple_img)
# 显示挑选出的苹果图片
for apple_img in apple_list:
cv2.imshow("Apple Image", apple_img)
cv2.waitKey(0)
原文地址: https://www.cveoy.top/t/topic/bUwf 著作权归作者所有。请勿转载和采集!