红色成了 绿色 蓝色成了紫色 绿色成了红色 改回来
时间: 2023-07-19 18:41:13 浏览: 45
如果您得到的图像中红色变成了绿色,蓝色变成了紫色,绿色变成了红色,那么可能是因为您的截图数据使用的是 BGR 颜色通道顺序,而 OpenCV 默认使用的是 RGB 颜色通道顺序。您可以尝试在读取截图数据后,将 BGR 颜色通道顺序转换为 RGB 颜色通道顺序,如下所示:
```python
# 转换为numpy数组
img = np.frombuffer(bmpstr, dtype='uint8')
img.shape = (bmpinfo['bmHeight'], bmpinfo['bmWidth'], 4)
# 将BGR颜色通道顺序转换为RGB颜色通道顺序
img = img[...,::-1]
# 将RGB颜色通道顺序转换为BGR颜色通道顺序
img[..., [0, 1, 2]] = img[..., [2, 1, 0]]
# 保存为BMP格式
cv2.imwrite('1.bmp', img)
return img
```
这样,您得到的图像颜色应该就正确了。
相关问题
彩色螺旋python源代码 红色 绿色 紫色 蓝色
彩色螺旋是一种Python绘图的例子,它可以在屏幕上绘制出一个由红色、绿色、紫色、蓝色相间的螺旋。以下是代码实现:
```python
import turtle
turtle.bgcolor("black")
turtle.pensize(2)
turtle.speed(0)
for i in range(6):
for colors in ["red", "magenta", "blue", "cyan", "green", "yellow", "white"]:
turtle.color(colors)
turtle.circle(100)
turtle.left(10)
turtle.hideturtle()
```
这段代码使用了`turtle`库来实现绘图,首先将背景色设置为黑色,画笔大小为2,速度为0(最快)。然后使用两个`for`循环,分别控制颜色和角度。循环中使用了一个列表,里面包含了红、品红、蓝、青、绿、黄、白七种颜色。每次循环时,将画笔颜色设置为列表中的一种颜色,然后绘制一个半径为100的圆,并将角度向左旋转10度,这样就形成了一个彩色的螺旋。最后隐藏画笔,完成绘图。
plt 红色、蓝色、绿色、黄色和紫色颜色代码
下面是红色、蓝色、绿色、黄色和紫色在 `matplotlib` 中的颜色代码:
- 红色:`'r'` 或 `'red'`
- 蓝色:`'b'` 或 `'blue'`
- 绿色:`'g'` 或 `'green'`
- 黄色:`'y'` 或 `'yellow'`
- 紫色:`'m'` 或 `'magenta'`
例如,如果要将折线颜色设置为红色,可以使用以下代码:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, 'r') # 红色
plt.show()
```
如果要将折线颜色设置为紫色,可以使用以下代码:
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.plot(x, y, 'm') # 紫色
plt.show()
```