本人做了一个GUI界面,目标是实现在axes坐标中导入一张照片,然后可以在照片上用鼠标画圈,然后就可以计算出画圈部分占照片总面积的比例;同时也可以用白色覆盖多余部分(可以看成橡皮擦功能吧?)

但目前:画圈,橡皮擦功能的代码是基于axes坐标轴实现的,也就是说,实际上照片本身并没有改变,画的圈只是和照片在一个坐标中同时显示出来而已,如果保存照片的话,画的圈和擦掉的部分都不会在保存的照片中体现。。。我该怎么改?先谢过了!下面是画圈,和橡皮擦的功能的代码。。。其实本质是一样的

function figure_EasyPaint_WindowButtonDownFcn(hObject, eventdata, handles)

% hObject    handle to figure_EasyPaint (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global flag x0 y0 x y PaintFlag Eflag;

flag = 1;     %鼠标单击

cp = get(handles.axes_before, 'CurrentPoint');         %axes_before 为坐标轴Tag

x = cp(1,1);

y = cp(1,2);

if PaintFlag    % 选择画圈按钮

plot(handles.axes_before, x, y, 'Color', [1 0 0]);

end

if Eflag       %选择橡皮擦按钮

set(gcf, 'CurrentAxes', handles.axes_before);

plot(handles.axes_before, x, y, 'Color', [1 1 1]);

end

x0 = x;

y0 = y;

guidata(hObject, handles);

% --- Executes on mouse motion over figure - except title and menu.

function figure_EasyPaint_WindowButtonMotionFcn(hObject, eventdata, handles)

% hObject    handle to figure_EasyPaint (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global flag x0 y0 x y PaintFlag Eflag;

x0 = x;

y0 = y;

cp = get(handles.axes_before, 'CurrentPoint');

x = cp(1,1);

y = cp(1,2);

if flag && PaintFlag

temp = get(handles.slider1, 'Value');

LineWidth = temp + 2;

plot(handles.axes_before, [x0 x], [y0 y], 'LineWidth', LineWidth, 'Color', [1 0 0]);

end

if flag && Eflag

set(gcf, 'CurrentAxes', handles.axes_before);

temp = get(handles.slider1, 'Value');

LineWidth = temp + 2;

plot(handles.axes_before, [x0 x], [y0 y], 'LineWidth', LineWidth, 'Color', [1 1 1]);

end

guidata(hObject, handles);

% --- Executes on mouse press over figure background, over a disabled or

% --- inactive control, or over an axes background.

function figure_EasyPaint_WindowButtonUpFcn(hObject, eventdata, handles)

% hObject    handle to figure_EasyPaint (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global flag PaintFlag Eflag;

flag = 0;

PaintFlag = 0;

Eflag = 0;

guidata(hObject, handles);

matlab的图片上如何画线,如何在照片上画线?相关推荐

  1. Matlab 在图片上画虚线矩形框

    matlab在图片上rectangle详解 Rectangle 属性 矩形的外观和行为 矩形属性控制矩形对象的外观和行为.通过更改属性值,您可以修改矩形的特定方面.使用圆点表示法查询和设置属性. h ...

  2. 图片 手动画框 matlab,matlab在图片上画框

    之前写过一个MATLAB在图片上画框的代码, http://blog.csdn.net/carson2005/article/details/17262811 最近使用后发现效果不好,貌似有个bug, ...

  3. matlab在图片上画圆_在Matlab中识别的图像周围画一个圆圈

    我有一张参考图片,我想围绕参考图片中存在的图片绘制一个圆圈. 现在,它在参考图片中存在的图片上绘制一个矩形,但我不知道如何使其成为圆形.在Matlab中识别的图像周围画一个圆圈 boxImage = ...

  4. 用matlab在图片上画出网格

    在对图像进行处理时,时常需要将图片划分成若干矩形块进行处理,在作图表示时,如何在图片上显示网格呢?下面给出一种matlab实现的简单方法: p = imread('football.jpg'); %读 ...

  5. matlab在图片上画标记然后整幅保存的方法

    经常imshow一幅图片之后,会在上面plot一些标记点,但是imwrite的时候发现点并没有随之被保存下来. 尝试一些方法如下: 一.figure imshow(image0_rgb) hold o ...

  6. matlab在图片上分块(在图片上画网格)

    p = imread('g.jpg'); %读取图像 I=imresize(p,[256,256]); %将图像的尺寸调整为[256*256] rs = size(I, 1); cs = size(I ...

  7. matlab 在图片上绘制热力图_python可视化之seaborn——热力图

    所用函数以及相关参数解析 seaborn.heatmap( data, vmin=None, vmax=None, cmap=None, center=None, robust=False, anno ...

  8. matlab在图片上显示文字颜色,科学网-解决matlab saveas printf保存图片时 colorbar中的字体颜色发生改变-肖鑫的博文...

    matlab在画多个图片循环保存时很容易出现看到的图跟保存的图片不一样,最常见的是大小不同导致坐标轴拉伸变形,主要是图片分辨率跟屏幕分辨率不同的原因,这个可以通过在设置figure时,固定画布大小解决 ...

  9. matlab获取图片上的字,基于MATLAB图片中文字提取及识别.pdf

    基于MATLAB图片中文字提取及识别.pdf 数字图象处理 DigitalImageProgressing 基于MATLAB的图片中文字的提取及识别 邹浩,余龙,邹勇博,刘宇童,和振乔,李少梅 (西安 ...

最新文章

  1. IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  2. Leetcode 213.大家劫舍II
  3. nginx 转发慢_学习Nginx的正确姿势,多图详解助你更上一层楼!(干货收藏篇)...
  4. WebApi 的CRUD 的方法的应用
  5. sqlserver concat 字符串位数不够左侧补0_一文搞懂Python字符串格式化
  6. linux 正在运行的程序不能拷贝_如何实现在Windows上运行Linux程序,附示例代码
  7. 新闻评副高职称条件计算机,新闻系列副高职称评审有哪些条件
  8. slack 使用说明_我如何使用Node和Botkit构建HR Slack Bot
  9. 诗和远方:无题(五十)
  10. ubuntu linux 系统搭建我的世界基岩版 私服我的世界服务器
  11. antd去掉table自带的分页条
  12. mapreduce新编程实例
  13. 修改MFC程序的图标
  14. knife4j文档-个人笔记
  15. TIA博途WINCC中英文切换的项目中摄氏度符号无法正常显示的解决办法
  16. 关于计算机网络的英语演讲稿,幽默英语演讲稿
  17. Today is a special day
  18. R7 7735HS参数 锐龙77735HS怎么样相当于什么水平级别
  19. 阿里云oss 收费标准细则,太鸡贼了,不要傻傻的以为只收你存储的钱
  20. Allegro按照板框边沿敷铜并进行内缩和外扩

热门文章

  1. [附源码]JAVA毕业设计景区门票系统(系统+LW)
  2. GCN - Semi-Supervised Classification with Graph Convolutional Networks 用图卷积进行半监督节点分类 ICLR 2017
  3. Byval 和 Byref的区别
  4. 如何理解电商的B2B模式与B2C模式
  5. 企业vi标志设计中文字设计的方法
  6. Android aosp10,AOSP Android10 hook dlsym
  7. HBase Flush 解析
  8. python sample函数取样_Pytorch各种取样器sample
  9. Fresco的使用及圆角
  10. 韩服游戏IP用哪里的比较稳定怎么选择服务器