opencv - PIL 和 opencv 显示来自同一图像的不同图像背景
问题描述
我有如下图像:
我尝试在 google colab 上绘制它们。通过使用 PIL:
from PIL import Image
import matplotlib.pyplot as plt
img = Image.open('hiclipart.com(1).png')
plt.imshow(img)
并通过使用opencv:
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("hiclipart.com(1).png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
但是opencv给了我黑色背景的图像,而PIL给了我白色背景。这是怎么回事?
解决方案
当您使用OpenCV打开图像时,您没有指定任何标志,这意味着您获得了 3 通道、8 位 BGR。
但是,您的图像有第四个 alpha 通道,除非您使用,否则您会丢弃它:
img = cv2.imread("path", cv2.IMREAD_UNCHANGED)
推荐阅读
- reactjs - ReactJS - 我收到错误“r Invariant failed - not use outside a
" - 这发生在一个页面中,而不是其他页面 - python - 如何检测有效负载中缺少特定字段并通过Django中的异常进行处理?
- php - 关于 php 中的 iterator_count 的困惑
- docker - Visual Studio Code 不从 Docker 桌面启动
- python - pandas merge() 将 int 转换为 float
- javascript - Solana 转账金额 null
- php - PHP + imap + qresync 扩展?
- powerbi - 计算每个用户第一次和第二次购买之间的天数
- reactjs - 将代码从模板引擎更改为下一个 js
- android - SearchView 在回收站视图中不起作用