日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

利用matlab对xml文件进行批量处理

發布時間:2025/3/15 循环神经网络 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用matlab对xml文件进行批量处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文為原創作品,未經本人同意,禁止轉載,禁止用于商業用途!本人對博客使用擁有最終解釋權

歡迎關注我的博客:http://blog.csdn.net/hit2015springhttp://www.cnblogs.com/xujianqing/

本文主要是要利用matlab編寫一個M文件,這個M文件的主要功能:對一個文件夾下面的多個XML文件進行信息的提取,然后利用所要得到的信息進行計算,最后生成對應文件名的文本文件。

先上一下XML文件:

?

<?xml version="1.0" ?> <annotation><folder>che</folder><filename>a90180.jpg</filename><source><database>Unknown</database></source><size><width>641</width><height>512</height><depth>3</depth></size><segmented>0</segmented><object><name>1</name><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>307</xmin><ymin>225</ymin><xmax>342</xmax><ymax>290</ymax></bndbox></object> </annotation>

針對于這個XML文件,提取里面的xmin ,ymin,xmax,ymax四個節點的值,計算出長寬。并把,上面的坐標和長和寬寫到和xml文件名一致的文本文件中。

上代碼:

?

clc clear allmaindir = 'C:\Users\yezi\Desktop'; %%存放文件的上一級目錄,即該文件夾的上一級,文件位于C:\Users\yezi\Desktop\3下面 subdir = dir( maindir ); % 先確定子文件夾 for i = 1 : length( subdir ) if( isequal( subdir( i ).name, '.' ) ||isequal( subdir( i ).name, '..' ) || ~subdir( i ).isdir ) ; % 如果不是目錄跳過 continue; end subdirpath = fullfile( maindir, subdir( i ).name, '*.xml' ); images = dir( subdirpath ); % 在這個子文件夾下找后綴為jpg的文件 % 遍歷每張圖片 for j = 1 : length( images ) imagepath = fullfile( maindir, subdir( i ).name, images( j ).name ) % % % imgdata = imread( imagepath ); % 這里進行你的讀取操作 xmlDoc=xmlread(imagepath); %讀入xml文件% name = 'a80240'; str1 = '1 '%% extract the FDs FDsArray = xmlDoc.getElementsByTagName('bndbox'); % 將所有PerHuman節點放入數組FDsArray k=0; % for i = 1 : FDsArray.getLength thisItem = FDsArray.item(0); % %FDsAttributes = char(thisItem.getAttributes.item(0).getValue) % 提取FDs節點的屬性,如果沒有屬性或不需要提取,可以注釋掉。這里,FDsAttributes = opencv-matrixchildNode = thisItem.getFirstChild ;while ~isempty(childNode) % 遍歷PerHuman的所有子節點,也就是遍歷 標注程序保存下來的各個數據點 節點if childNode.getNodeType == childNode.ELEMENT_NODE ; % 檢查當前節點沒有子節點, childNode.ELEMENT_NODE 定義為沒有子節點。k=1+k;childNodeNm = char(childNode.getTagName) ; % 當前節點的名字childNodedata = char(childNode.getFirstChild.getData) % 當前節點的內容 % marks=choosenode(childNodeNm);m(k) = str2num(childNodedata);end % End IF childNode = childNode.getNextSibling; % 切換到下一個節點end % End WHILEx = m(3)-m(1);y = m(4)-m(2); % strrep 進行字符串替換,區分大小寫 % strrep(str1,str2,str3) % 它把str1中所有的str2字串用str3來替換newname = strrep(images( j ).name,'.xml','.txt')%%重命名fid=fopen(newname,'wt'); %在當前目錄下創建一個文件寫入數據 fprintf(fid,str1); fprintf(fid,'%d',m(1));fprintf(fid,' ');fprintf(fid,'%d',m(2));fprintf(fid,' '); fprintf(fid,'%d',x);fprintf(fid,' '); fprintf(fid,'%d',y); fclose(fid);end end


最后附上參考的文章鏈接

?文件批量處理

對xml進行操作

感謝作者分享!

總結

以上是生活随笔為你收集整理的利用matlab对xml文件进行批量处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。