How to find the variance of an image?

206 views (last 30 days)
i try to find the variance by var function but it shoew the error. I = imread('eight.tif'); var(I)

Accepted Answer

David Young
David Young on 12 Sep 2014
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(:));

More Answers (3)

Dheeraj Kuamr Gupta
Dheeraj Kuamr Gupta on 2 Apr 2017
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);

Morteza Hajitabar Firuzjaei
This code calculates the variance of a RGB image but it's not standard variance, see below:
close all;
clear all;
I = imread('b.png');
blockSize = [6 6];
varFilterFunction = @(theBlockStructure) var(double(;
blockyImagevar = blockproc(I, blockSize, varFilterFunction);
Morteza Hajitabar Firuzjaei

Komal Gaikwad
Komal Gaikwad on 25 Mar 2018
how to display the variance of image in command box
  1 Comment
Image Analyst
Image Analyst on 25 Mar 2018
Leave off the semicolon, or use disp() or fprintf().

Sign in to comment.


No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!