bndbox xml matlab,求取图片方差均值图像与熵,批量读取xml文件或图片————MATLAB(二)...

clear;

clc;

close all;

% [ 4.0-4000

% "20200720185352656"

% "20200720185352656"

% "20200720185405881"

% "20200720185352870"

% "20200720185415126"

% "20200720185353140"

% "20200720185415650"

% "20200720185353388"

% "20200720185415917"

% "20200720185354002"

% "20200720185416214"

% "20200720185422342"

% "20200720185356197"

% "20200720185424786"

% "20200720185359936"

% "20200720185435073"

% "20200720185405105"

% "20200720185436222"

% ];

% [ 4.0-5000

% "20200720191040769"

% "20200720191040769"

% "20200720191046831"

% "20200720191053213"

% "20200720191101532"

% "20200720191040995"

% "20200720191047449"

% "20200720191054410"

% "20200720191101726"

% "20200720191041237"

% "20200720191047648"

% "20200720191054643"

% "20200720191101948"

% "20200720191041427"

% "20200720191047894"

% "20200720191054827"

% "20200720191102205"

% "20200720191041667"

% "20200720191048121"

% "20200720191055073"

% "20200720191103672"

% ];

%

% [ 4.0-6000

% "20200720191616028"

% "20200720191616028"

% "20200720191622549"

% "20200720191653640"

% "20200720191703784"

% "20200720191616298"

% "20200720191640084"

% "20200720191654103"

% "20200720191705107"

% "20200720191616548"

% "20200720191640487"

% "20200720191654343"

% "20200720191705377"

% "20200720191616787"

% "20200720191640934"

% "20200720191654940"

% "20200720191705641"

% "20200720191617047"

% "20200720191641382"

% "20200720191659543"

% "20200720191711539"

% ];

name_string = [

"20200720183824578"

"20200720183824578"

"20200720183828905"

"20200720183824866"

"20200720183829259"

"20200720183825171"

"20200720183829545"

"20200720183825506"

"20200720183829861"

"20200720183825796"

"20200720183830167"

"20200720183826129"

"20200720183830803"

"20200720183826455"

"20200720183831137"

"20200720183826729"

"20200720183831426"

"20200720183827021"

"20200720183831820"

"20200720183828279"

];

length = strlength(name_string);

[m_len,n_len] =size(length);

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

% filename=['D:\matlab\ae\ir_ae.txt'];

for num=1:m_len

str = name_string(num,1);

% xmlDoc = xmlread('C:\Users\Administrator\Desktop\ir_AE\data\质量较差图像\4.0_5000\20200720191040769@normal@40@ir.xml');

str_xml_name =strcat(str,'@normal@40@ir.xml');

path= 'C:\Users\Administrator\Desktop\ir_AE\data\40cm优质图像\';

str_xml = strcat(path,str_xml_name);

xmlDoc = xmlread(str_xml);

roi_array = xmlDoc.getElementsByTagName('bndbox');

roi = str2num(char(roi_array.item(0).getTextContent()));

%%

str_pic_name = strcat(str,'@normal@40@ir.jpg');

str_pic = strcat(path,str_pic_name);

origin = imread(str_pic);

standard=rgb2gray(origin);

%%

ir_image_roi = imcrop(standard,[roi(1,1),roi(2,1),(roi(3,1)-roi(1,1)),(roi(4,1)-roi(2,1))]);

ir_image=double(ir_image_roi);

nbins=256;

histogram(ir_image,nbins);

[width,height] =size(ir_image);

% figure()

% subplot(1,1,1);

% title('标准图');

%%

image=ir_image; %载入灰度图像

avg=mean2(image); %求图像均值

[m,n]=size(image);

s=0;

for x=1:m

for y=1:n

s=s+(image(x,y)-avg)^2; %求得所有像素与均值的平方和。

end

end

%求图像的方差

variance =var(image(:));

%%

[C,L]=size(image); %求图像的规格

Img_size=C*L; %图像像素点的总个数

G=256; %图像的灰度级

H_x=0;

nk=zeros(G,1);%产生一个G行1列的全零矩阵

for i=1:C

for j=1:L

Img_level=image(i,j)+1; %获取图像的灰度级

nk(Img_level)=nk(Img_level)+1; %统计每个灰度级像素的点数

end

end

for k=1:G %循环

Ps(k)=nk(k)/Img_size; %计算每一个像素点的概率

if Ps(k)~=0 %如果像素点的概率不为零

H_x=-Ps(k)*log2(Ps(k))+H_x; %求熵值的公式

end

end

H_x %显示熵值

% save(filename,'avg',-ascii');

merge_result = [avg,variance,H_x];

dlmwrite('D:\matlab\ae\ir_ae\ir_ae.txt',merge_result,'delimiter','\t','newline','pc','-append');

title(['index is =' ,num2str(avg),', ',num2str(variance),', ',num2str(H_x)])

generate_ntype ='.bmp';

str_name_gen = strcat(str,generate_ntype);

saveas(figure(m_len), ['ir_ae\',char(str_name_gen)]);

end

%%

% <?xml version="1.0" encoding="utf-8"?>

%

%    Jack

%    male

%    

Beijing

%    

%       123456

%       012345

%    

%

%%

% read xml

% name node

% name_array = xmlDoc.getElementsByTagName('xmin');

% name = char(name_array.item(0).getTextContent());

% disp(['name:' name]);

%

% % phone element

% phone_array = xmlDoc.getElementsByTagName('phone');

% phone = phone_array.item(0);

% disp([char(phone.item(1).getNodeName()) ':' char(phone.item(1).getTextContent())]);

% disp([char(phone.item(3).getNodeName()) ':' char(phone.item(3).getTextContent())]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值