DAY13 彩色图片分别显示RGB三个通道图片 求图像的均值 方差 熵

% 读取一张彩色图片 分别显示RGB三个通道图片
% 将彩色图片换成灰度图像 求图像的均值 方差 熵
im=(imread(‘robot.jpg‘));
figure,imshow(im);

% Step1 分别显示RGB三个通道图片
subplot(2,2 ,1),imshow(im); %原始彩色图像
subplot(2, 2 ,2),imshow(im(:,:,1)); %R通道 im(:,:,1) 表示三维图像 第一个参数表示获取全部行
subplot(2 ,2 ,3),imshow(im(:,:,2)); %G通道 第二个参数表示获取全部列
subplot(2 ,2 ,4),imshow(im(:,:,3)); %B通道 第二个参数表示获取页数

% Step2 将彩色图片换成灰度图像
% Step3 求图像的均值 方差 熵
im1=rgb2gray(im);
figure,imshow(im1);

[row,col]=size(im1); %获取行数 和 列数
im1=double(im1); %要先转换成double 否则不能实现累加
sum=0; %求矩阵所有元素的和
for i=1:row
for j=1:col
sum=sum+im1(i,j);
end
end

%求均值
mid=sum/(row*col);

%求方差
s=0;
for x=1:row
for y=1:col
s=s+(im1(x,y)-m)^2; %求得所有像素与均值的平方和。
end
end
a2=s/(row*col); %方差

%求信息熵
A=im1;
[M,N]=size(A);
temp=zeros(1,256); %设置空白矩阵 用于记录概率
for m=1:M;
for n=1:N;
if A(m,n)==0; %如果数值为0
i=1; %序号为1
else
i=A(m,n); %否则为原来序号
end
temp(i)=temp(i)+1; %统计每个灰度值出现的次数
end
end
%求信息熵
temp=temp/(M*N); %所有值除以元素个数,表示概率 即公式中的P(i)
result=0;
for i=1:length(temp) %返回temp的行列中的最大值 即256
if temp(i)==0; %如果概率为0 则不累加 0要单独处理
% result=result;
else %否则 公式
result=result-temp(i)*log2(temp(i));
end
end

时间: 2024-10-12 22:24:18

DAY13 彩色图片分别显示RGB三个通道图片 求图像的均值 方差 熵的相关文章

多通道(比方RGB三通道)卷积过程

今天一个同学问 卷积过程好像是对 一个通道的图像进行卷积, 比方10个卷积核,得到10个feature map, 那么输入图像为RGB三个通道呢,输出就为 30个feature map 吗, 答案肯定不是的, 输出的个数依旧是 卷积核的个数. 能够查看经常使用模型.比方lenet 手写体,Alex imagenet 模型, 每一层输出feature map 个数 就是该层卷积核的个数. 1. 一通道单个卷积核卷积过程 2. 一通道 多个卷积核卷积过程 一个卷积核得到的特征提取是不充分的.我们能够

采集百度搜寻结果,图片不显示的解决方法

1.根据关键字采集百度搜寻结果 根据关键字采集百度搜寻结果,可以使用curl实现,代码如下: <?php function doCurl($url, $data=array(), $header=array(), $timeout=30){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_R

Opencv 中图片像素操作的应用实例——计算图片某一种颜色区域大小所占比

对图片进行处理,其中图片像素的处理是基本的过程,包括对图片像素的遍历,对每一个像素的RGB三个通道的灰度值的获取等. 以下是基于opencv 的一个应用实例,即计算图片中黄色区域大小占整个图片大小的比例. 1 // computerPercentage.cpp: 定义控制台应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 #include<opencv2/opencv.hpp> 7 #in

Unity工程里图片的RGB和Alpha通道的分离,以及显示所有带有Alpha通道贴图的Material

背景:ETC1图片格式的罪孽,不支持Alpha通道.于是程序员们将一些气力浪费在Alpha通道的处理上. 为了能使用ETC1,同时某些透明效果必须有Alpha通道,一般的处理方式是将RGB和Alpha分为两张图片分别储存. 只存Alpha通道的图片及RGB都为要存的Alpha值,因为熵比较小,图片尺寸也可以相应减小一些. 要做的工作: 1. 将带有Alpha通道的图片,另存为两张图片,一张只存RGB信息,另一张只存Alpha信息.建议保持为图片原目录,名称加后缀"_RGB", &quo

猫猫学iOS 之微博项目实战(10)微博cell中图片的显示以及各种填充模式简介

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 :一效果 如果直接设置会有拉伸等等的状况,这里主要介绍图片显示的一些细节 二:代码 代码实现其实很简单,微博当中用了一个photos来存放九宫格这些图片,然后用了一个photo类来做每个photo,并且在上面显示gif等的样式,很多很多小技巧,直接上代码 九宫格根据行列设置等算法,不难 #import "HWStatusPhotosView.h" #i

Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示

Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 并用delphi调用 的方法: 1.c#的webservice现实见 http://www.greensoftcode.net/techntxt/20127118441582992373 之前的文章. 2.在客户端用delphi显示 发现asp.net xml形式输出的图片是base64字符串形式.

【转】三、android图片特效处理之锐化效果

这篇将讲到图片特效处理的锐化效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理: 一.简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的和的平均数,再乘以相应的系数,然后在与当前像素点之和. 例: ABC DEF GHI 对E点进行锐化: float delta = 0.3; E.r = (E.r - (A.r + B.r + C.r + D.r + F.r + G.r + H.r + I.r) / 8) * delta + E.r

js图片轮换显示实例

用js脚本实现图片轮换显示,很简单的小例子,特此分享. 1,js代码部分,图片轮换代码. <script language="JavaScript"> var imgUrl=new Array(); var imgLink=new Array(); var imgText=new Array(); var picNum=0; imgUrl[1]="图片地址一"; imgLink[1]="链接1"; imgText[1]="标

Android NDK使用libjpeg解析JPEG图片,并显示到SurfaceView上

SurfaceView大概是谷歌提供给开发者最吸引人的的组件了,原因是SurfaceView的界面刷新允许在非UI线程中更新,正因为此,很多频繁更新界面的应用,如视频播放器.游戏.动画效果总会基于SurfaceView及其子类进行开发. 而最近我正在研究的一个应用是关于处理图片并显示图片的应用,图片实在是内存杀手,而处理图片则运算量非常大,这些都是令人头疼的问题. 分析应用,并选择实现技术 1.处理图片运算量大,为了提高运算效率,选择使用C语言处理图片 2.需要的内存空间较大,为节约内存并提高效