通过PIV图像测孤立波速C
首先读取PIV.bin文件然后提取同一帧画面不同位置处的图像数据作为新的图像利用循环把每一帧遍历可得到两幅不同位置波形图最后储存图片总的程序如下
首先读取PIV.bin文件
fip
=fopen(['filename.bin'],'rb');
[SIN,num
]=fread(fip
,'uint8'); %inf表示读取文件中的所有数据,
[M,N]表示
fclose(fip
);
M=2560;%代表水平分辨率为
2560;
N=1348;%代表垂直分辨率为
1348;
j
=1;
for k1
=1:N
for k2
=1:1:M
image1(k1
,k2
)=uint8(SIN(j
));%将bin文件中的数据记录在image1当中
j
=j
+1;
end
end
然后提取同一帧画面不同位置处的图像数据作为新的图像
image2(:,bnumber
)=image1(:,1000);
image3(:,bnumber
)=image1(:,2000);
利用循环把每一帧遍历可得到两幅不同位置波形图
figure
imshow(image2
);
figure
imshow(image3
);
%改变图片对比度
figure
P2
=image2
;
P2(255>P2
>50)=1;
P2(50>P2
>0)=254;
imshow(P2
)
figure
P3
=image3
;
P3(255>P3
>35)=1;
P3(35>P3
>0)=254;
imshow(P3
)
通过改变特定颜色对比度来显示波面
最后储存图片
imwrite(P2
,['filename1.bmp']);
imwrite(P3
,['filename2.bmp']);
总的程序如下
clear all
;
clc
for bnumber
=1:n
fip
=fopen(['filename.bin'],'rb');
[SIN
,num
]=fread(fip
,'uint8'); %inf表示读取文件中的所有数据,
[M
,N
]表示
fclose(fip
);
M
=2560;%代表水平分辨率为
2560;
N
=1348;%代表垂直分辨率为
1348;
j
=1;
for k1
=1:N
for k2
=1:1:M
image1(k1
,k2
)=uint8(SIN(j
));%将bin文件中的数据记录在image1当中
j
=j
+1;
end
end
image2(:,bnumber
)=image1(:,1000);
image3(:,bnumber
)=image1(:,2000);
end
figure
P2
=image2
;
P2(255>P2
>50)=1;
P2(50>P2
>0)=254;
imshow(P2
)
figure
P3
=image3
;
P3(255>P3
>35)=1;
P3(35>P3
>0)=254;
imshow(P3
)
imwrite(P2
,['filename1.bmp']);
imwrite(P3
,['filename2.bmp']);
转载请注明原文地址: https://win8.8miu.com/read-25402.html