这个代码怎么才能不让图片显示出来,并把合格的图片放到一个文件夹里,把不合格的图片放到另一个文件夹# -- coding: UTF-8 -- import cv2 from PIL import Image, ImageDraw, ImageFont img = cv2.imread("6/00.jpg") # 原图灰度转换 gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) for i in range(1, 21): t1 = cv2.cvtColor(cv2.imread("7/" + str(i) + ".jpg"), cv2.COLOR_RGB2GRAY) # 直方图计算的函数,反应灰度值的分布情况 hist = cv2.calcHist([gray], [0], None, [256], [0.0, 255.0]) h1 = cv2.calcHist([t1], [0], None, [256], [0.0, 255.0]) # 相关性计算,采用相关系数的方式 result = cv2.compareHist(hist, h1, method=cv2.HISTCMP_CORREL) im = Image.open("7/" + str(i) + ".jpg") draw = ImageDraw.Draw(im) fnt = ImageFont.truetype(r'simsun.ttc', 30) # 这里视作》=0.95认为相似,即合格 if result >= 0.95: draw.text((5, 10), u'合格', fill='red', font=fnt) else: draw.text((5, 10), u'不合格', fill='red', font=fnt) im.show("result" + str(i) + ".jpg")
时间: 2023-06-09 22:03:33 浏览: 60
里?
你可以使用Python代码实现这个功能。具体做法是:
首先,使用Python中的Pillow库打开图片,并进行检测。如果图片符合条件,将其保存到一个文件夹中,否则将其保存到另一个文件夹中。
以下是示例代码:
```python
from PIL import Image
import os
# 检查图片是否合格的函数
def is_valid_image(image_path):
img = Image.open(image_path)
# 检查图片的大小,此处以100x100为例
if img.size != (100, 100):
return False
# 检查图片是否为黑白图像
if img.mode != "L":
return False
return True
# 图片所在的目录
image_dir = 'images'
# 合格的图片保存的目录
valid_dir = 'valid_images'
# 不合格的图片保存的目录
invalid_dir = 'invalid_images'
# 如果保存图片的目录不存在,则创建它
if not os.path.exists(valid_dir):
os.makedirs(valid_dir)
if not os.path.exists(invalid_dir):
os.makedirs(invalid_dir)
# 遍历图片所在的目录
for file_name in os.listdir(image_dir):
image_path = os.path.join(image_dir, file_name)
# 如果图片合格,将其保存到valid_dir目录中
if is_valid_image(image_path):
new_path = os.path.join(valid_dir, file_name)
os.rename(image_path, new_path)
# 如果图片不合格,将其保存到invalid_dir目录中
else:
new_path = os.path.join(invalid_dir, file_name)
os.rename(image_path, new_path)
```
在以上代码中, `is_valid_image()`函数是用来检查图片是否符合条件的,你可以根据需要修改它的检查条件。代码遍历指定目录中的所有图片文件,并将符合条件的图片移动到valid_dir目录中,不符合条件的图片移动到invalid_dir目录中。