【发布时间】:2021-02-15 06:08:50
【问题描述】:
concatenated image with gray and gradient magnitude
我无法连接输入彩色图像和梯度幅度
input = cv2.imread('figures/output.png')# 3 channel
input.astype(np.float32)
gray = cv2.cvtColor(input, cv2.COLOR_BGR2GRAY)
dx = cv2.Sobel(gray, cv2.CV_32F, 1, 0) # float
dy = cv2.Sobel(gray, cv2.CV_32F, 0, 1)
mag = cv2.magnitude(dx, dy) # gradient magnitude , no channel
mag = np.clip(mag, 0, 255).astype(np.uint8) # 255보다 커질 수 있으므로 saturate 연산
cv2.imshow('magnitude', mag)
addv = cv2.vconcat((input, mag)) # error
我得到一个错误,添加部分
但是 gray = cv2.cvtColor(input, cv2.COLOR_BGR2GRAY) 渐变幅度级联的灰色很好
cv2.error: OpenCV(4.5.1) /tmp/pip-req-build-1syr35c1/opencv/modules/core/src/matrix_operations.cpp:111: error:
(-215:Assertion failed) src[i].dims <= 2 && src[i].cols == src[0].cols && src[i].type() == src[0].type() in function 'vconcat'
不知道为什么
【问题讨论】:
-
错误说明了什么?
-
error part = addv = cv2.vconcat((im, mag)) # 错误错误信息 = cv2.error: OpenCV(4.5.1) /tmp/pip-req-build-1syr35c1/opencv /modules/core/src/matrix_operations.cpp:111:错误:(-215:断言失败)src[i].dims
-
对于 vconcat 两个图像应该具有相同的通道数和相同的宽度
-
我知道输入图像是 3 通道,幅度不是通道,所以它不能被连接,但我必须这样做,我正在编码后面的论文“openaccess.thecvf.com/content_CVPR_2020/papers/…”
-
论文说“我们将输入图像与其对应的梯度图像连接起来作为分离网络的输入”
标签: python concatenation gradient magnitude