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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对视频中的车辆进行计数,MATLAB仿真

發布時間:2024/3/24 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对视频中的车辆进行计数,MATLAB仿真 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.仿真預覽

2.部分核心代碼

clc; close all; clear; folderPath = 'TrafficVideo\'; % 文件夾名稱 imageType = '*.jpg'; % 圖像類型 imageFiles = dir([folderPath, imageType]); % 指定路徑下所有指定圖像,以結構體形式保存 %% 通過循環遍歷所有圖像procNum = length(imageFiles); m=5; n=ceil((procNum-1)/4/m); Road = imread([folderPath,imageFiles(procNum).name]); GrayRoad = rgb2gray(Road); figure,imshow(Road); th=zeros(1,(length(imageFiles)-1)/4); se1=[1 1 1]; se2=ones(9); color=[1 0 0;0 1 0;0 0 1;1 0 1;0 1 1;1 1 0;1 1 1]; a=0; q=0; for z=1:(length(imageFiles)-1)/4:length(imageFiles)-1figure,%%%%%%%%%%%%%%%%%%%%%%%%%%求取閾值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for k = z:(length(imageFiles)-1)/4+z-1fileName = imageFiles(k).name; % 當前文件名,注意這里不含路徑信息I = rgb2gray(imread( [folderPath, fileName] ))- GrayRoad; % 將圖像數據讀入矩陣th(k-z+1)=graythresh(I);endth1=sum(th)/length(th)-0.045;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for k = z:(length(imageFiles)-1)/4+z-1fileName = imageFiles(k).name; % 當前文件名,注意這里不含路徑信息I0 = imread([folderPath, fileName]);% J=midfilter(I);I = rgb2gray(I0)- GrayRoad; % 將圖像數據讀入矩陣% [mu,mask]=kmeans(J,2);% th=graythresh(I);% I=midfilter(I); %中值濾波I=im2bw(I,th1); %分割J=midfilter(I);I=imclose(J,se2); %閉運算I=imopen(I,se1); %開運算[Car,num,Rect] = CarProc(I); %標記、計數、求坐標subplot(m,n,k-z+1);imshow(I0,[]); title(num2str(k))midCar=Car;if k~=1for v=1:num[r,c]=size(Car);Car1=Car;for x=1:rfor y=1:cif Car1(x,y)~=vCar1(x,y)=0;endendendJ=Car1.*Car0;if J==0[r1,c1]=find(Car1~=0);a=a+1;for k1=1:length(r1)midCar(r1(k1),c1(k1))=a;endq=a;if (q>7)&&(q<=14)q=q-7;endif q>14q=q-14;endrectangle('Position',Rect(v,:),'EdgeColor',color(q,:),'LineWidth',1);text(Rect(v,1),Rect(v,2),num2str(a),'color','r');else[r1,c1]=find(Car1~=0);[c2,d2]=find(Car1.*Car0~=0);for k1=1:length(r1)midCar(r1(k1),c1(k1))=Car0(c2(1),d2(1));end g=Car0(c2(1),d2(1));if (Car0(c2(1),d2(1))>7)&&(Car0(c2(1),d2(1))<=14)g=Car0(c2(1),d2(1))-7;endif Car0(c2(1),d2(1))>14g=Car0(c2(1),d2(1))-14;endrectangle('Position',Rect(v,:),'EdgeColor',color(g,:),'LineWidth',1);text(Rect(v,1),Rect(v,2),num2str(Car0(c2(1),d2(1))),'color','r');endendelsefor v=1:numif num>0a=a+1;text(Rect(v,1),Rect(v,2),num2str(a),'color','r');rectangle('Position',Rect(v,:),'EdgeColor',color(q,:),'LineWidth',1);endendendCar0=midCar;end end % search(1); %圖像檢索

C70

總結

以上是生活随笔為你收集整理的对视频中的车辆进行计数,MATLAB仿真的全部內容,希望文章能夠幫你解決所遇到的問題。

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