MATLAB图像处理_直接操作像素点进行颜色变换

需求

直接操作RGB图像的像素点,进行颜色的相关操作。

掌握这个,必须对MATLAB中矩阵的操作有所熟悉,特别是整行、整列的操作。

如:

J = [1 2 3; 4 5 6; 7 8 9]; ——这里定义了一个三行三列的矩阵。

J[:, 1] = 0; ——直接操作了J矩阵中每一行的第1列 此时J = [0 2 3; 0 5 6; 0 8 9]

其他如行操作用法类似,不再赘述。

下面我们对一副图像进行直接操作,把其中的红色部分改为蓝色。

代码如下:

% BY   SCOTT                                                                                                                                              % red2blue
% change red to blue
clear all;
clc;
rgb = imread('red2blue.png');
figure;
imshow(rgb);
R=rgb(:,:,1); %red
G=rgb(:,:,2); %green
B=rgb(:,:,3); %blue
[x,y,z]=size(rgb);
for i=1:x
    for j=1:y
        if( (R(i,j) >= 180) && (R(i,j) <=255) && (G(i,j) <50) && (B(i,j) <50) )
            R(i,j) = 0;
            G(i,j) = 162;
            B(i,j) = 232;
        end
    end
end

% in this way
% blue(:,:,1)=R(:,:);
% blue(:,:,2)=G(:,:);
% blue(:,:,3)=B(:,:);

% another way
for i=1:x
    for j=1:y
        blue(i,j,1) = R(i,j);
        blue(i,j,2) = G(i,j);
        blue(i,j,3) = B(i,j);
    end
end

figure;
imshow(blue);

运行结果:

转换前:

转换后:

时间: 2025-01-11 17:44:33

MATLAB图像处理_直接操作像素点进行颜色变换的相关文章

MATLAB图像处理_去雾算法

使用MATLAB进行图像的去雾操作,网上一搜,这方面的东西很多,貌似已然成为研究的一个方向,大牛辈出! 这里仅仅给出一个代码,能实现图像的去雾操作,详细的看后边有没有时间,想自己研究研究. function darktest(filename) %暗影去雾算法 %filename------文件名或文件绝对路径 %用法:darktest('7.png') close all clc w0=0.65; %0.65 乘积因子用来保留一些雾,1时完全去雾 t0=0.1; I=imread(filena

MATLAB图像处理_感悟和总结

两个星期的图像处理研究学习差不多告一段落: 真的应了一句话,只有你接触某个领域,才真正可以体会到某个领域的魅力所在: 到目前为止,学习的一些图像处理知识,都是最基础的,其实和机器学习.计算机视觉.人工智能等方面比起来,只是小菜一碟:感觉图像处理方面的知识博大精深,确实如此,这是一项研究生花两年的时间都不一定能掌握好的东西.只能说和嵌入式方向一样,都是水比较深.搞过这个之后,才深知自己的数学知识没学到位,后悔大学数学没有好好学,现在又有重新学数学的念头了,甚至有考个研究生的冲动了... 是不是很蛋

MATLAB图像处理_同态滤波

同态滤波: 利用广义叠加原理对同态系统进行滤波. 同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/ 反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量.使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅立叶变换处理的失真. 同态滤波的基本原理是:将像元灰度值看作是照度和反射率两个组份的产物.由于照度相对变化很小,可以看作是图像的低频成份,而反射率则是高频成份.通过分别处理照度和反射率对像元灰度值的影响,达到揭示阴

MATLAB图像处理_图像的白平衡算法(灰色世界法)

白平衡,即所谓的白色的平衡. 白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法! 灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R. G. B 三个分量的平均值趋于同一个灰度K. 下面是具体的算法代码: RGB=imread('test.jpg'); R = RGB(:,:,1); G = RGB(:,:,2); B = RGB(:,:,3); Rx4 = RGB(:,:,1)*4; Gx4 = RGB(:,:,2)

MATLAB图像处理_统计最大/最小/平均灰度

需求: 求图像的最大灰度.最小灰度.以及平均灰度. 代码如下: % BY SCOTT % Count max gray and min gray clear all; clc; rgb = imread('test.jpg'); gray = rgb2gray(rgb); [m,n] = size(gray); max = 0; min = 255; sum = 0; avg = 0; for i=1:1:m for j=1:1:n if (gray(i,j) > max) max = gray

学习笔记(2)---Matlab 图像处理相关函数命令大全

Matlab 图像处理相关函数命令大全 一.通用函数: colorbar  显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \

MATLAB图像处理——学习笔记

由于工作需要,开始研究一下MATLAB图像处理相关的知识,图像处理只是matlab应用领域中小小的一部分而已.以前只是听说过MATLAB很强大,但没有系统的学过,如今开始学时,发现matlab确实很不错.很高大上.操作起来很方便,特别是编写程序时,比C语言更简洁. 很多人都是大学里就学过matlab的,由于是半路出家,所以知识不是很全面,直接拿了一本冈萨雷斯的MATLAB版的书就开始看,下面做一些简单的小记录. 1. matlab命令基础: clc--清除窗口 clear--清除之前赋值过的变量

Atitit MATLAB 图像处理 经典书籍attilax总结

1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读] - 当当图书.html1 1.3. 数字图像处理(MATLAB版)(第二版)(本科教学版)2 1.1. MATLAB数字图像处理 第1章 图像处理与MATLAB2007a简介 第2章 图像的编码和解码 第3章 图像复原 第4章 图像处理的相关操作 第5章 图像频域变换 第6章 图像处理中的代数运算及几何变换 第7章 图像增强 第8章 图像分割与边缘检测 第9章 小波分析

Matlab图像处理系列1———线性变换和直方图均衡

注:本系列来自于图像处理课程实验,用Matlab实现最基本的图像处理算法 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对灰度值分布的变换. 1.灰度线性变换 (1)线性变换函数 原图向灰度值为g,通过线性函数f(x)=kx+b转换为f(g)得到灰度的线性变换. (2)代码实现 Matlab中支持矩阵作为函数参数传入,定义一个线性转换函数,利用Matlab矩阵操作,用一行代