小编Sha*_*rma的帖子

如何使用OpenCV交换图像中的蓝色和绿色通道

我在交换图像的通道(特别是红色和蓝色)时遇到了一些问题.我使用的是Opencv 3.0.0和Python 2.7.12.以下是我交换频道的代码

import cv2

img = cv2.imread("input/car1.jpg")

#The obvious approach
Cimg = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

#Manual Approach
red = img[:,:,2]
blue = img[:,:,0]

img[:,:,0] = red
img[:,:,2] = blue

cv2.imshow("frame",Cimg)
cv2.imshow("frame2", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么通过相同(可能)操作的同一图像正在给出两个不同的输出.有人可以解决出了什么问题吗?

谢谢!

原始图像 原始图片

手动操作 手动操作

COLOR_BGR2RGB cv2.COLOR_BGR2RGB操作

python opencv

6
推荐指数
1
解决办法
9569
查看次数

2D 坐标到 3D 世界坐标

我想将 2D 图像坐标转换为 3D 世界坐标。我正在使用 ZED 相机,它是一个立体相机,它附带的 sdk 提供了视差图。因此我有深度。两个摄像头相互平行。虽然这个问题是微不足道的,但我无法弄清楚转换背后的数学。我有以下信息

1) 我有像素信息(即由 u 和 v 表示的行和列号)和该像素处的深度 D(以米为单位)。

2) 我也知道两台相机的焦距和 cx, cy 值

3)投影B(基线)的两个中心之间的距离是已知的。

我想知道如何从图像中的像素(行、列、深度)到世界坐标中的(X、Y、Z)。

假设世界坐标系的原点为两个相机之间的中心点,垂直于地面下方。(相机的高度称为 H)。

谢谢你。

opencv computer-vision

4
推荐指数
1
解决办法
3428
查看次数

标签 统计

opencv ×2

computer-vision ×1

python ×1