Home >Computer Tutorials >Computer Knowledge >How to write a button in Matlab GUI that can read images

How to write a button in Matlab GUI that can read images

WBOY
WBOYforward
2024-01-15 20:45:271265browse

How to write a button in Matlab GUI that can read images

How to write a GUI button to read images in matlab

% Just copy all the code, save it and run it

function zd479599250

% Write a GUI button to read an image, the function is as follows:

% Click the button to pop up the dialog box, then select the picture from the dialog box

% Create a drawing window, which includes a coordinate system and a button

axes('units','normal','pos',[.1 .3 .8 .6]);

uicontrol('style','push','units','normal','pos',[.4 .1 .2 .1],'str','Open...','call' ,@localOpenPic)

function localOpenPic(varargin)% The callback function of the button, first let the user select the image file, open and display it

% Image file type (incomplete, for demonstration only)

filter = { ...

'*.bmp;*.jpg;*.gif;*.emf', 'All image files (*.bmp; *.jpg; *.gif; *emf)'; ...

'*.bmp', 'Bitmap file (*.bmp)'; ...

'*.jpg', 'JPEG file (*.jpg)'; ...

'*.gif', 'GIF file (*.gif)'; ...

'*.emf', 'Metafile (*.emf)'; ...

'*.*', 'All files (*.*)' ...

};

% Select a document

[filename, pathname] = uigetfile(filter, 'Open...');

if isequal(filename,0) | isequal(pathname,0), return, end

% Read the image and display

[X, map] = imread([pathname filename]);

colormap(map)

image(X)

% Set the coordinate system to a suitable way to display the image

axis image

set(gca, 'vis', 'off')

matlab reads picture coordinates

1, use Windows Paintbrush to store as a monochrome bitmap

2. Put the pictures and .m files in the same folder. Assume the file name is my_im.bmp.

im=imread('my_im.bmp'); %Read the picture

index=find(im==1); %Find the coordinates of the "black point" in the graph. The coordinates are one-dimensional data.

s=size(im); %Read the image size

[y,x]=ind2sub(s,index); %Convert to two-dimensional coordinates. x is the abscissa of the point, y is the ordinate of the point.

%------------------------

%import data does not work. Your original image consists of three matrices of red, green, and blue. Of course, it is 3-dimensional when read. Even if you read in a 256*256 matrix, you still need to find the points in it through the find function, and then convert the coordinates.

How to use MATLAB to process images

This is just batch reading of images from the matlab forum. Put the a.m file directly in the attachment 1 folder and run it directly. The debugging passes

I think we need to use image character recognition and measure it through the structure of the characters

imname = dir('.\*.bmp');%

im_num = length(imname);%

im_temp = imread(imname(1).name,'bmp');%

[height,width] = size(im_temp);%Get the size of the image

DB(:,:,a) = zeros(height,width,im_num,'uint8');

% Read all images

for a = 1:length(imname)

DB(:,:,a) = imread(imname(a).name,'bmp');%Read image data

end

Read pictures in batches

Connect using cat function;

Border of each note

ima = DB(:,:,a);

im_left = ima(:,1);

im_right= ima(:,end);

The gray value is 0 255. If you want to binarize the number, you can use im2bw

Please accept my answer!

My code passed debugging

Can this solve your problem?

The above is the detailed content of How to write a button in Matlab GUI that can read images. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:docexcel.net. If there is any infringement, please contact admin@php.cn delete