sir im doing a simple program to identify pixel value and compare with another image,

1 vue (au cours des 30 derniers jours)
when i run this code i am getting this error.
"Index exceeds matrix dimensions.
Error in myfu1n (line 10)
subblock = I(r:r+7, c:c+7);"
my complete code
clc;
clear all;
close all;
I = rgb2gray(imread('tablet.jpg'));
original = rgb2gray(imread('tablet1.jpg'));
original = double(original);
for( j = 0 : 1:7)
r = randi(225-7);
c = randi(225-7);
subblock = I(r:r+7, c:c+7);
imshow(subblock);
figure;
t = [1 1];
[s fval] = fminunc(@myfun , subblock)
end
y=myfun(I)
separate function
%%myfun(I)
function f = myfun(x)
scale = 0.7;
J = imresize(x, scale);
theta = 30;
x0 = imrotate(J,theta);
for( i = 1:1:225)
f = (x^2 - x0(i)^2);
end

Réponse acceptée

Geoff Hayes
Geoff Hayes le 8 Avr 2017
Modifié(e) : Geoff Hayes le 8 Avr 2017
vani - are you sure that your image is 225x225? Rather than hardcoding the dimensions, use size to determine the number of rows and columns
numRows = size(I,1);
numCols = size(I,2);
for( j = 0 : 1:7)
r = randi(numRows - 7)
c = randi(numCols - 7);
subblock = I(r:r+7, c:c+7, 1);
% etc.
end
The 1 in subblock may not be necessary as presumably I is two dimensional (due to the conversion from RGB to grayscale).

Plus de réponses (1)

vani shree
vani shree le 12 Avr 2017
thank you sir.. its working properly im getting values. but still it is showing error in function part. Error using ^ MPOWER is not fully supported for integer classes. Both inputs must be scalar. To compute elementwise POWER, use POWER (.^) instead.
Error in myfun (line 7) f = (x^2 - x0(i) ^2);
Error in myfu1n (line 14) f = myfun(I)
can you please help me again sir
code %%myfun(I) function f = myfun(x) scale = 0.7; J = imresize(x, scale); theta = 30; x0 = imrotate(J,theta); for( i = 1:1:225) f = (x^2 - x0(i)^2); end

Catégories

En savoir plus sur Get Started with Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by