首页 > 其他分享 >彩图、灰度图、二值图的转化

彩图、灰度图、二值图的转化

时间:2023-01-12 20:34:23浏览次数:48  
标签:img 彩图 uint8 灰度 np 二值 gray1 cv

import numpy as np
from matplotlib import pyplot as plt
import cv2 as cv

def show(img):
    if img.ndim == 2:
        plt.imshow(img,cmap='gray',vmin=0,vmax=255)
    else:
        plt.imshow(cv.cvtColor(img,cv.COLOR_BGR2RGB))
    plt.show()

if __name__ == '__main__':
    a = np.random.randint(0,256,(2,4),dtype=np.uint8)  #二位灰度图
    # show(a)
    b = np.random.randint(0,256,(2,4,3),dtype=np.uint8)   #彩图
    # print(np.uint8([-1,0,255,300]))

    #通道分离与合并
    img = cv.imread('image/apple.jpg')
    b,g,r = cv.split(img)  #分离
    img2 = cv.merge([b,g,r])   #合并

    #彩图转灰度图
    gray1 = 0.114*b + 0.587*g + 0.299*r   #权值可变
    print(gray1)
    gray2 = gray1.astype(np.uint8)  #将浮点数转为整数
    gray3 = np.uint8(gray1)    #将浮点数转为整数

    #彩图转为灰度图
    gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)

    #二值化图像(灰度转二值)
    thresh = 125
    print(gray1 > thresh)  #结果为True和False的二维矩阵
    gray1[gray1 > thresh] = 255
    gray1[gray1 <= thresh] = 0
    # show(gray1)

    # 二值化图像(灰度转二值)
    ignore,gray4 = cv.threshold(gray2,125,255,cv.THRESH_BINARY)  #有两个返回值,灰度图为int8型,将大于125的设置成255,小于变0
    # show(gray4)

 

标签:img,彩图,uint8,灰度,np,二值,gray1,cv
From: https://www.cnblogs.com/yj12/p/17047849.html

相关文章

  • Unity URP Shader之灰度化
    shader如下:1Shader"TA/Unlit/UI/UIImageGray"2{3Properties4{5_MainTex("MainTexture",2D)="white"{}6}78SubShad......
  • 图像处理-灰度图像转化为伪彩图像
    文章目录​​1、问题描述​​​​2、效果如下​​​​3、具体代码​​1、问题描述什么是伪彩图像?我们看的天气预报,主持人解说背景图片就是伪彩图像,地里书上的很多图片,比如说......
  • [2] 图像处理之----二值化处理
    文章目录​​1、什么是二值化处理​​​​2、为什么要进行二值化处理​​​​3、如何进行二值化处理​​​​(1)简单阈值​​​​(2)自适应阈值​​​​(3)Otsu's二值化​​​​4......
  • Spring Cloud GateWay基于nacos如何去做灰度发布
    本文基于ReactiveLoadBalancerClientFilter使用RoundRobinLoadBalancer灰度发布灰度发布,又称为金丝雀发布,是一种新旧版本平滑发布的方式。在上面可以对同一个API进行两个版......
  • VTK_Learning_图像二值化_阈值法
    1.阈值法实现图像二值化操作二值图像和label图像是图像分割中经常用到的两种图像。二值图像的每个像素只有两种可能的取值,例如0或者255。通常0代表图像的背景,而255代码图像......
  • VTK_Learning_图像统计_灰度直方图计算_彩色直方图计算
    1.灰度图像直方图直方图统计是图像处理中的一个非常重要的操作。VTK中实现直方图统计功能的filter是vtkImageAccumulate。其将每个组分的数值范围划分为离散的间隔,然后统计......
  • VTK_Learning_图像基本操作_彩色图像生成灰度图像_彩色图像成分提取
    1.灰度图像映射vtkImageLuminance负责将一个RGB彩色图像转换为一个单组分的灰度图像。映射公式如下:luminance=0.3*R+0.59*G+0.11*B该公式中,R为输入图像的第一分量(红......
  • SSE图像优化代码-彩色图像转灰度
    #include<opencv2/opencv.hpp>usingnamespacestd;voidRGB2Y(unsignedchar*Src,unsignedchar*Dest,intWidth,intHeight,intStride){constintB_W......
  • 从三万英尺看全链路灰度
    作者:卜比全链路灰度是微服务领域,很实用的企业级场景下的技术能力。从本期开始,我们将通过《全链路灰度:自顶向下的方法》的系列文章,由远及近的剖析全链路灰度全貌,系列文章分为......
  • Argocd rollout 蓝绿发布步以及灰度发布步骤图形讲解
    灰度发布1、5个pod2、百分之二十灰度3、全部新版蓝绿发布1、原始应用2、部署预览服务3、流量切换删除旧pod......