首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
enzoyang
›
全部回复第 1 页 / 共 1 页
回复总数
2
2021-04-25 10:04:34 +08:00
回复了
enzoyang
创建的主题
›
问与答
›
怎样判断横屏视频是中间包含完整竖屏,两边模糊的视频?
应该是 detect_vertical_edges,代码里弄混了
2021-04-24 16:37:52 +08:00
回复了
enzoyang
创建的主题
›
问与答
›
怎样判断横屏视频是中间包含完整竖屏,两边模糊的视频?
谢谢大家的提示,我试验了一下,边缘检测加判断图中竖直的边缘应该够用了
```
def detect_horizontal_edges(cv_img) -> list:
"""找出图片中的竖线边界"""
if isinstance(cv_img, str):
cv_img = cv2.imread(cv_img)
# 转成灰度
gray_img = cv2.cvtColor(cv_img, cv2.COLOR_BGR2GRAY)
# 边缘检测
canny = cv2.Canny(gray_img, 20, 100)
# 加粗边缘
kernal = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2))
dilated = cv2.dilate(canny, kernal)
# 判断竖线
h, w = dilated.shape[0], dilated.shape[1]
threshold = int(h * 0.75)
edge_positions = []
for x in range(w):
white_dots = 0
for y in range(h):
if dilated[y, x] == 255:
white_dots += 1
if white_dots > threshold:
edge_positions.append(x)
return edge_positions
```
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
1304 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms ·
UTC 23:35
·
PVG 07:35
·
LAX 16:35
·
JFK 19:35
Developed with
CodeLauncher
♥ Do have faith in what you're doing.