截取视频封面后,经常出现全黑、全白等不可用的封面图片。于是就有了用程序选择视频封面的需求。
经过不断试验,效果最好的方法是根据图片内物品的数量来选图。
废话不多说,直接上代码:
1. 把图片处理为灰度图
import cv2
# pip install opencv-python
img=cv2.imread('pic-1.jpg')
grayImg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# cv2.imshow('src', grayImg)
# cv2.imshow('src', grayImg)
处理完后 ====>
2. 图片二值化
scalar = cv2.mean(grayImg)
thresh = scalar[0]
_, binImg = cv2.threshold(grayImg, thresh, 255, cv2.THRESH_BINARY)
这里需要说下thresh值的选择,它决定了颜色最终转为黑色还是白色(大于thresh为白色)。
大多数教程中,这个值都是一个固定的数,但这是不准确的。对于较暗或是较亮的图片,会造成图片全黑或全白。因此这里使用了mean动态确定thresh。
如例图是一张较暗的图片,thresh经过动态调整后,效果比固定一个值要好。