# How to find the variance of an image?

206 views (last 30 days)
sachin on 12 Sep 2014
Commented: Image Analyst on 25 Mar 2018
i try to find the variance by var function but it shoew the error. I = imread('eight.tif'); var(I)

David Young on 12 Sep 2014
var requires a double or single argument. This will work:
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(:));

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);

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

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

### Categories

Find more on Object Analysis in Help Center and File Exchange

### Tags

No tags entered yet.

### Community Treasure Hunt

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

Start Hunting!