How to find the variance of an image?
63 ビュー (過去 30 日間)
古いコメントを表示
i try to find the variance by var function but it shoew the error. I = imread('eight.tif'); var(I)
0 件のコメント
採用された回答
David Young
2014 年 9 月 12 日
var requires a double or single argument. This will work:
img = double(imread('eight.tif'));
v = var(img);
But note that will give a vector, with one value for the variance of each column of the image. To get the variance of all the pixels in the image, you'll need
v = var(img(:));
0 件のコメント
その他の回答 (3 件)
Dheeraj Kuamr Gupta
2017 年 4 月 2 日
close all; clear all; clc; I = imread('C:\Users\anubh\Pictures\koala.jpg'); A=rgb2gray(I); [r,c]=size(A) b=r*c; s=0; s=sum(sum(A)); mean=a/b; display(mean); d=(A- mean); display(d);
0 件のコメント
Morteza Hajitabar Firuzjaei
2018 年 1 月 29 日
This code calculates the variance of a RGB image but it's not standard variance, see below:
%------------------------------------------
close all;
clear all;
clc;
I = imread('b.png');
blockSize = [6 6];
varFilterFunction = @(theBlockStructure) var(double(theBlockStructure.data(:)));
blockyImagevar = blockproc(I, blockSize, varFilterFunction);
varianceImage=blockyImagevar(:);
display(varianceImage);
%---------------------------------------
Morteza Hajitabar Firuzjaei
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!