• 大小: 934KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-13
  • 语言: Matlab
  • 标签:

资源简介

自己编写的matlab程序 实现数字图像的模板匹配和相关算法,以及亚像素算法 压缩包中含源程序,实例图片和模板,以及模板生成算法。 使用方法: 1、设定路径 2、打开threshold,F5 有问题欢迎提问。

资源截图

代码片段和文件信息

clc
format compact
more off
%load samples/coords/syntcds
%load samples/coords/realcds
%addpath solvopt
addpath F:\
addpath F:\20091201\2\
echo on
%
% press enter to start the calibration with synthetic data
pause
tic
path(‘F:\20091201\1\‘path)
b=load(‘模板.txt‘);
%读取图像
image3=imread(‘image.bmp‘);
image2=image3;
K=image3;
%K=double(image3(::2));
%图像灰度值的阈值随着图像质量改变
K_threshold=graythresh(K);
BW = im2bw(double(K)./255K_threshold);

%treshold and erode dilate etc. operations.
%J=find(K<70);
%K(J)=0;
%J=find(K>=70);
%K(J)=255;
%image=image3(::2);
%imshow(K)

%Mask = strel(‘rectangle‘[3 3]);
%K_erode = imerode(BWMask);
%K_dilate=imdilate(K_erodeMask);
%J=find(K_dilate==1);
%end open operation.

J=find(BW==1);
length=size(J);

Gray_point=[floor(J/2048)rem(J2048)];
Gray_xy=round(mean(Gray_point));

Gray_d=round(3*(Gray_xy(11)-Gray_point(11))/4);

%Gray_d=3*(Gray_xy(11)-Gray_point(11))/4;

%yc=Gray_xy(11)-Gray_d;
%xc=Gray_xy(12);

%yc1=Gray_xy(11);
%xc1=Gray_xy(12)-Gray_d;

yc1=Gray_xy(11)-Gray_d;
xc1=Gray_xy(12);

yc=Gray_xy(11);
xc=Gray_xy(12)-Gray_d;

yc3=Gray_xy(11);
xc3=Gray_xy(12)+Gray_d;

yc2=Gray_xy(11)+Gray_d;
xc2=Gray_xy(12);

[x_suby_submaxcor] = thresholdmax( xcyc Gray_dbimage3); 
[x_sub1y_sub1maxcor1] = thresholdmax( xc1yc1Gray_dbimage3);
[x_sub2y_sub2maxcor2] = thresholdmax( xc2yc2Gray_dbimage3 );
[x_sub3y_sub3maxcor3] = thresholdmax( xc3yc3Gray_dbimage3 );



pix=[y_subx_submaxcor
    y_sub1x_sub1maxcor1
    y_sub2x_sub2maxcor2
    y_sub3x_sub3maxcor3];
%Below is the function of showing the point in the picture and save the
%picture.
pix_int=round(pix);

xcenter_sub=(pix(11)+pix(21)+pix(31)+pix(41))/4
ycenter_sub=(pix(12)+pix(22)+pix(32)+pix(42))/4


xcenter_pix=floor((pix(11)+pix(21)+pix(31)+pix(41))/4)
ycenter_pix=floor((pix(12)+pix(22)+pix(32)+pix(42))/4)

image2(xcenter_pix+1ycenter_pix+1)=255;


image2(floor(x_sub)+1floor(y_sub)+1)=0;
image2(floor(x_sub1)+1floor(y_sub1)+1)=0;
image2(floor(x_sub2)+1floor(y_sub2)+1)=0;
image2(floor(x_sub3)+1floor(y_sub3)+1)=0;

image_show=double(image2(ycenter_pix-2*Gray_d:ycenter_pix+2*Gray_d-1xcenter_pix-2*Gray_d:xcenter_pix+2*Gray_d-1));

figure(4)
imshow(image_show[0255]);

format long g
save(‘sub_pix.txt‘‘pix‘‘-ASCII‘‘-double‘);

%im3=uint8(image2);
%imwrite(im3‘image.bmp‘);

im=uint8(image_show);
imwrite(im‘sub_image.bmp‘);

toc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3800  2009-09-10 13:28  模板.txt

     文件       2426  2010-12-13 10:45  threshold.m

     文件       2897  2009-12-03 15:46  thresholdmax.m

     文件    5014582  2009-12-01 15:35  image.bmp

     文件       1500  2009-12-07 11:25  模板生成Matlab.txt

----------- ---------  ---------- -----  ----

              5025205                    5


评论

共有 条评论

相关资源