python 灰度改二值_图像 - 灰度化、灰度反转、二值化

图像灰度化:

将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。

第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。

第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。///

///图像灰度化///

///

///

public staticBitmap ToGray(Bitmap bmp)

{for (int i = 0; i < bmp.Width; i++)

{for (int j = 0; j < bmp.Height; j++)

{//获取该点的像素的RGB的颜色

Color color =bmp.GetPixel(i, j);//利用公式计算灰度值

int gray = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11);

Color newC

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像是将图像中的像素换为二(0或255)的过程,常用于物体检测、边缘检测等应用。相则是将二后的图像进行,即将黑色像素变为白色,白色像素变为黑色。 以下是使用Python和OpenCV库进行图像和相的代码示例: ```python import cv2 # 图像 def image_binarization(image): # 将图像换为灰度图 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 使用自适应阈方法进行二 _, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU) return binary # 图像 def image_inverse_binarization(image): # 将图像换为灰度图 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 使用自适应阈方法进行二 _, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU) return binary # 图像缩放 def image_rescale(image, scale_percent): # 计算缩放后的宽度和高度 width = int(image.shape[1] * scale_percent / 100) height = int(image.shape[0] * scale_percent / 100) # 缩放图像 resized = cv2.resize(image, (width, height), interpolation=cv2.INTER_AREA) return resized # 读取图像 image = cv2.imread('image.jpg') # 图像 binary_image = image_binarization(image) # 图像 inverse_binary_image = image_inverse_binarization(image) # 图像缩放 rescaled_image = image_rescale(image, 50) # 缩放比例为50% # 显示图像 cv2.imshow('Original Image', image) cv2.imshow('Binary Image', binary_image) cv2.imshow('Inverse Binary Image', inverse_binary_image) cv2.imshow('Rescaled Image', rescaled_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 请确保在运行代码之前已经安装了OpenCV库,并将'image.jpg'替换为你自己的图像路径。在代码中,`image_binarization`函数使用自适应阈方法进行图像,`image_inverse_binarization`函数将二后的图像进行,`image_rescale`函数用于图像缩放。最后,使用`cv2.imshow()`函数显示原始图像、二图像、相图像和缩放后的图像

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值