解决python图像处理图像赋值后变为白色的问题

 更新时间:2020年06月04日 11:33:57   作者:JensLee  
这篇文章主要介绍了解决python图像处理图像赋值后变为白色的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

用Python进行图像赋值,在1RGB基础上,加入光流两个通道,代码如下所示:

import numpy as np
import cv2
import matplotlib.pyplot as plt
 
path = 'frame_00003_rgb.png'
img = cv2.imread(path)
img1 = np.zeros([480, 640, 5])
img1[:, :, 0:3] = np.array(img)
 
cv2.imshow('test1', np.array(img)[:,:,2])
cv2.imshow('test2', img1[:, :, 0])
cv2.waitKey(10000)

打印出来的时候,图像显示空白:

后来找到了问题,是numpy数组11声明的问题,改成uint8就行了:如下所示:

import numpy as np
import cv2
import matplotlib.pyplot as plt
 
path = 'frame_00003_rgb.png'
img = cv2.imread(path)
img1 = np.zeros([480, 640, 5], dtype=np.uint8)
img1[:, :, 0:3] = np.array(img)
 
cv2.imshow('test1', np.array(img)[:,:,2])
cv2.imshow('test2', img1[:, :, 0])
cv2.waitKey(10000)

补充知识:python3改图片白色该为透明

我就废话不多说了,大家还是直接看代码吧!

# pip install Pillow
import PIL.Image as Image
# 以第一个像素为准,相同色改为透明
def transparent_back(img):
  img = img.convert('RGBA')
  L, H = img.size
  color_0 = (255,255,255,255)#要替换的颜色
  for h in range(H):
    for l in range(L):
      dot = (l,h)
      color_1 = img.getpixel(dot)
      if color_1 == color_0:
        color_1 = color_1[:-1] + (0,)
        img.putpixel(dot,color_1)
  return img
if __name__ == '__main__':
  img=Image.open('img.png')
  img=transparent_back(img)
  img.save('img2.png')

以上这篇解决python图像处理图像赋值后变为白色的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python爬虫超时的处理的实例

    python爬虫超时的处理的实例

    今天小编就为大家分享一篇python爬虫超时的处理的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 实用自动化运维Python脚本分享

    实用自动化运维Python脚本分享

    今天小编就为大家分享一篇实用自动化运维Python脚本。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • django中显示字符串的实例方法

    django中显示字符串的实例方法

    在本篇文章里小编给大家整理了一篇关于django中显示字符串的实例方法,有兴趣的朋友们可以跟着学习参考下。
    2021-03-03
  • Python实现语音转文本的两种方法

    Python实现语音转文本的两种方法

    这篇文章主要给大家介绍了关于Python实现语音转文本的两种方法,Python提供了许多工具和库来进行这些任务,本文通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • 基于OpenCV的仿射变换实现方法

    基于OpenCV的仿射变换实现方法

    这篇文章主要给大家介绍了关于基于OpenCV的仿射变换实现方法,仿射变换相当于将二维平面上的每个坐标点与一个2x3的矩阵相乘,得到新的坐标,而透视变换则是与3x3的矩阵相乘,需要的朋友可以参考下
    2024-01-01
  • Python使用pandas读取Excel并选取列转json

    Python使用pandas读取Excel并选取列转json

    这篇文章主要为大家详细介绍了通过Python和pyqt5设计一个工具,可以实现pandas读取Excel选取列作为键或值转json,感兴趣的小伙伴可以了解下
    2025-02-02
  • Python cookbook(数据结构与算法)对切片命名清除索引的方法

    Python cookbook(数据结构与算法)对切片命名清除索引的方法

    这篇文章主要介绍了Python cookbook(数据结构与算法)对切片命名清除索引的方法,结合实例形式分析了Python字符串截取及indices方法映射序列的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python素数检测的方法

    Python素数检测的方法

    这篇文章主要介绍了Python素数检测的方法,实例分析了Python素数检测的相关技巧,需要的朋友可以参考下
    2015-05-05
  • python基础学习之递归函数知识总结

    python基础学习之递归函数知识总结

    在函数中调用函数自身,我们把这样的函数叫做递归函数, 递归函数就是循环的调用,类似于俄罗斯套娃,本文给各位小伙伴详细介绍了python递归函数,需要的朋友可以参考下
    2021-05-05
  • Python中的随机函数random详解

    Python中的随机函数random详解

    大家好,本篇文章主要讲的是Python中的随机函数random详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论