数字图像处理改变图像颜色

这篇博客展示了如何使用OpenCV将图像中蓝色三角形区域转换为黑色,通过读取图片、颜色分割、条件判断并修改像素值实现颜色变换,适合初学者理解图像处理基础操作。

将三角形由蓝色转变为黑色在这里插入图片描述

import cv2
img = cv2.imread(‘shape.jpg’)
cv2.imshow(‘src’,img)
height,width,_=img.shape
b,g,r = cv2.split(img)
for i in range(height):
    for j in range(0,width):
        for k in range(3):
    if 100<b[i,j]<200:
        img.itemset((i,j,k),0)
cv2.imshow(‘dst’,img)
cv2.waitKey()
cv2.destroyAllWindows()

显示效果

在这里插入图片描述

### MATLAB中数字图像处理改变图像颜色的方法 在MATLAB中,数字图像颜色可以通过多种方式改变,例如灰度转换、颜色空间变换、对比度调整和亮度调整等。以下将详细介绍几种常见的方法。 #### 1. 灰度转换 灰度图像是通过将彩色图像的RGB三个通道值转换为单个灰度值生成的。可以使用`rgb2gray`函数实现这一操作: ```matlab img = imread('image.png'); % 读取彩色图像 gray_img = rgb2gray(img); % 转换为灰度图像 imshow(gray_img); % 显示灰度图像 ``` 这种方法基于加权平均公式计算灰度值[^1]。 #### 2. 颜色空间变换 MATLAB支持多种颜色空间之间的转换,例如从RGB到HSV或YCbCr。以下是将图像从RGB转换为HSV颜色空间的示例: ```matlab img = imread('image.png'); % 读取彩色图像 hsv_img = rgb2hsv(img); % 转换为HSV颜色空间 imshow(hsv_img(:,:,1)); % 显示H(色调)通道 ``` 颜色空间变换允许对图像的不同特性进行独立处理,例如色调、饱和度和亮度[^2]。 #### 3. 对比度和亮度调整 通过线性变换可以调整图像的对比度和亮度。假设输入点的灰度值为`F`,输出点的灰度值为`G`,则变换公式为: \[ G = a \cdot F + b \] 其中,`a`控制对比度,`b`控制亮度。具体实现如下: ```matlab img = imread('image.png'); % 读取彩色图像 gray_img = rgb2gray(img); % 转换为灰度图像 a = 1.5; % 增大对比度 b = 50; % 提高亮度 adjusted_img = imadjust(gray_img, [], [], a, b); imshow(adjusted_img); % 显示调整后的图像 ``` 根据参数`a`和`b`的设置,可以灵活调整图像的对比度和亮度[^3]。 #### 4. 图像反相 图像反相是将每个像素的灰度值反转的操作,即: \[ G = 255 - F \] 其实现代码如下: ```matlab img = imread('image.png'); % 读取彩色图像 gray_img = rgb2gray(img); % 转换为灰度图像 inverted_img = 255 - gray_img; imshow(inverted_img); % 显示反相后的图像 ``` #### 5. 添加颜色偏移 通过修改RGB通道中的某个特定分量,可以为图像添加颜色偏移。例如,增加红色分量: ```matlab img = imread('image.png'); % 读取彩色图像 img(:,:,1) = img(:,:,1) + 50; % 增加红色通道值 imshow(img); % 显示带有红色偏移的图像 ``` 这种方法可用于创建特殊的视觉效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值