matlab 联合modelsim 调试图片
2015-06-14 14:15
417 查看
modelsim 中调试图片很不方便,比如边沿检测,中值滤波等,需要把图像数据输入,然后输出,非常不直观,并且不方便。在读取图像的过程就是一个大问题。不同的格式,有不同的读取方法。如果利用MATLAB岂不是会方便很多?
鉴于此,网上找了找相关解决方案,最后决定自己写一个,完整一点的
先看看效果
初始界面,美化什么的就没做了
![](http://img.blog.csdn.net/20150614142028705?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vqb25jeQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击img2txt,弹出对话框,显示图片并写道data.txt里面
![](http://img.blog.csdn.net/20150614142037556?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vqb25jeQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击txt2img,选择txt文件
![](http://img.blog.csdn.net/20150614142053642?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vqb25jeQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注意前两个数字为图像的大小
![](http://img.blog.csdn.net/20150614142100246?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Vqb25jeQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这样,直接能把图片转成可以输入modlsim的格式(注意前连个数字),在modlsim处理完成后,读到本程序中,即可显示效果
上代码
modelsim 中调试图片很不方便,比如边沿检测,中值滤波等,需要把图像数据输入,然后输出,非常不直观,并且不方便。在读取图像的过程就是一个大问题。不同的格式,有不同的读取方法。如果利用MATLAB岂不是会方便很多?
鉴于此,网上找了找相关解决方案,最后决定自己写一个,完整一点的
先看看效果
初始界面,美化什么的就没做了
点击img2txt,弹出对话框,显示图片并写道data.txt里面
点击txt2img,选择txt文件
注意前两个数字为图像的大小
这样,直接能把图片转成可以输入modlsim的格式(注意前连个数字),在modlsim处理完成后,读到本程序中,即可显示效果
上代码
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [FileName,PathName] = uigetfile({'*.jpg';'*.bmp';'*.*'},'File Selector'); if FileName==0 return ; end set(handles.text2,'String',FileName); axes(handles.axes1); img = imread(FileName); imshow(img); axis off [m n c]=size(img); imshow(img); if(c==3) %RGB pic img=rgb2gray(img); end fid = fopen('data.txt','w'); fprintf(fid,'%d,\t',m); fprintf(fid,'%d,\t',n); for i=1:m for j=1:n fprintf(fid,'%d,\t',img(i,j)); end % fprintf(fid,'\n'); end fclose(fid); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [FileName,PathName] = uigetfile({'*.txt';'*.*'},'File Selector'); if FileName==0 return ; end img=load(FileName); m=img(1); n=img(2); img=reshape(img(3:end),m,n); img=img'; imshow(uint8(img))
相关文章推荐
- LIBSVM 在matlab 2013添加 VS2013 c++编译器
- Matlab与C++混合编程
- MATLAB中fix的运用
- MATLAB中repmat的运用
- MATLAB中permute的运用
- Matlab的Profile功能
- 用MATLAB發EMAIL以及給全北大同學群發EMAIL呵呵呵
- 远程计算_使用Matlab计算引擎
- 用OxyPlot在WPF中演示正演磁异常的变化规律
- 在64位系统上不能安装Matlab notebook的解决方案
- MATLAB中统计程序执行时间
- Matlab变量名的神奇问题
- 关于matlab SVM工具箱的问题
- matlab 学习资料收集
- Matlab拟合曲线之幂律分布
- Matlab与VC6联合编程备忘录
- MATLAB——scatter的简单应用
- matlab中“执行字符串”函数eval在不同情况下的用法(二)
- MATLAB中feval、class、'function_handle'、isa、strcmp的用法
- 分享快速双边滤波matlab程序