我们来做一些有意思的事情,通过外界的扫描仪或者照相机之类的,获取你写在纸上的签名,图片一般保存为jpg格式。然后用matlab把图片中的签名通过某种采样方法来采取尽可能少的点来用贝塞尔曲线把你的签名勾勒出来并保存为pdf格式。这个东西感觉起来好像很高大上,我们不妨把这个任务分而治之。现在我们需要做的是采集图片->采集样本点->用贝塞尔曲线画出->保存为pdf格式。

高级做法:应用图像切割。

step1:

用照相机或者扫描仪获取的图片可以对图像进行操作。

法一:

使用imread命令读取图片。

I = imread('文件名.格式后缀');

图片是以矩阵方式存储的,被读取出来就是一个矩阵。

所以I是一个矩阵,一般为三维的,如果是灰度图就是二维的。

法二:

function pushbutton1_Callback(hObject, eventdata, handles) [fname, pname, index] = uigetfile({'*.jpg'; '*.bmp'}, '选择图片');%读取图片    str3 = [pname fname];    axes(handles.axes1);    imshow(str3);      handles.img = str3     %将图片赋值于句柄    guidata(hObject, handles);%更新句柄 function pushbutton2_Callback(hObject, eventdata, handles) img1 = handles.img; %将图片赋给img1,就可以对img1进行操作了。

参考函数:使用imshow命令显示图片。 imshow(I);

step2:

采集样本点,这就是技术的核心了,怎么采点呢?这就的看你的了。

step3:

用贝塞尔曲线画出图形这一块其实是你的点已经取得相当的好,然后用贝塞尔曲线画出就ok了,在这里,我贴上用鼠标获取端点与控制点的函数画出贝塞尔曲线的代码。其实稍微修改一下就可以变成给你一堆点,照着点画贝塞尔曲线的代码。

画图这一块有一个要提醒大家,一定要有hold on;不然hold不住啊!这是为了让每次画的图保留在那里,这比用一个数组存每次的结果好多了。

% project2 % draw a picture of A % name       :Chen Yu % student ID :12353032 % class&grade:class 2,grade 12 function draw hold off plot([-1 1],[0 0],'k',[0 0],[-1 1],'k'); hold on; xlist = []; ylist = []; t     = 0:.001:1; button= 1; k     = 0; while(button ~= 3)     [xnew,ynew,button] = ginput(1);  %get one mouse click     if button == 1         k = k+1;         xlist(k) = xnew;         ylist(k) = ynew; % add new point to the list         if k > 1             if mod(k,3) == 1                 for i = 1:4                     x(i) = xlist(k-i+1);                     y(i) = ylist(k-i+1);                 end                 %plot spline points and control pts                 plot([x(1) x(2)],[y(1) y(2)],'o:',x(2),y(2),'o');                 plot([x(3) x(4)],[y(3) y(4)],'c:',x(3),y(3),'cs');                 plot(x(1),y(1),'bo',x(4),y(4),'bo');                 bx = 3*(x(2) - x(1));                 by = 3*(y(2) - y(1));                 cx = 3*(x(3) - x(2));                 cy = 3*(y(3) - y(2));                 dx = x(4) - x(1) - bx - cx;                 dy = y(4) - y(1) - by - cy;                 xp = x(1) + t.*(bx + t.*(cx + t*dx));                 yp = y(1) + t.*(by + t.*(cy + t*dy));                 plot(xp,yp); % plot spline curve             end         end     end end     step4:

保存为pdf格式其实就是你用plot函数画出来之后点save,里面就有pdf格式哦!不过有点小提示,如果你发现你的图片怎么只有一点点,还有一部分那里去了。别着急,你在save的时候把图片的窗口缩小就可以了,这好像有点变态,没办法,设定就是这样的。最后就大功告成,神功已成。

低级做法:

step1:显示图像。获取图像矩阵I。提示:在这里图像要hold on。

step2:在上面描点并保存下来。接着把保存下来的点作为贝赛尔曲线的输入,用上面代码稍微改一下就可以得出答案。提示:在这里显示图像可以用figure(2),显示第二张图。还有一个point就是你会发现图像显示会倒过来,你只要把纵坐标画图的时候从大到小倒过来既可。

matlab制作签名图像,Matlab之画出你的签名相关推荐

  1. matlab高斯白噪声频谱图,如何用MATLAB产生高斯白噪声,并且画出图形?

    如何用MATLAB产生高斯白噪声,并且画出图形? 来源:互联网  宽屏版  评论 2009-06-19 02:34:10 分类: 电脑/网络 >> 程序设计 >> 其他编程语言 ...

  2. matlab main函数_Python 和MATLAB 制作Gif 图像

    主要内容概述: 预备知识 MATLAB 代码实现GIF 使用imageio 生成GIF 使用animation 交互式方式生成GIF 总结 0,预备知识 首先了解下什么是GIF 图片,以及常用的图片格 ...

  3. 用MATLAB实现高斯投影正反算且画出高斯投影图形

    具体代码如下: 使用matlab编程实现 clear % 选取画图的区域 for i = 60:1:120[P0(i-59,1),P0(i-59,2)]=GSBL2xym(0,i,90);[P1(i- ...

  4. python画指数函数图像_python实现画出e指数函数的图像

    这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近: exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ... #!/usr/bin/ ...

  5. python 制作正态分布图,画出拒绝域

    下面的程序实现画出正态分布图形,并且画出相应的拒绝域范围. from scipy.stats import norm import numpy as np import matplotlib.pypl ...

  6. matlab导入数据画二维云图,matlab中用xyz三组数据画出2维云图

    各位Matlab的高手,你们好. 我最近遇到一个技术问题,久未能解决,还望知道的能指教下,谢谢.我的问题是, 我有三组数据xyz.其中,xy分别为二维面的坐标,z为对于坐标的温度值.由于试件发生了变形 ...

  7. 使用Matlab在地图上根据经纬度画出轨迹的简单方法

    工作中收集到一些经纬度信息,需要在地图上画出来以便识别运行路线.对比了不少方法,觉得直接用Matlab内置的函数调用在线地图,并且在在线地图上绘图,是最简单的.具体代码如下,其中XY是自己新建的矩阵, ...

  8. matlab中在图像上划线 画圈的方法

    其实用plot都可以搞定. plot(imp(:,1),imp(:,2),'ro'); %最后的'ro',r是代表红色,o是代表画圈.画圈的话可以提供多个点的坐标,我这里用的就是向量的形式. plot ...

  9. matlab画奥运五环,MATLAB在同一坐标轴下,画出奥运五环标志,要求比例合适,每环用不同颜色表示怎么...

    这个题目有点意思,好想法,但M软件画这种图不是强项呀画图是可以,但估计肯定达不到很好的效果的,我画了一个,你看看,有问题再联系.clear all;clc;x0=3;y0=3;x=[x0-1,x0+1 ...

最新文章

  1. 智源首席科学家张平文当选美国工业与应用数学学会会士
  2. 【 Notes 】 AGPS or Assisted GPS
  3. windows server 2008 iis 添加ssl证书
  4. 理解C++ lvalue与rvalue
  5. 04.search_template
  6. 碎片化学习前端资料分享~
  7. 搜索引擎核心技术与算法 —— 词项词典与倒排索引优化
  8. 如何利用 Visual Studio 自带工具提高开发效率
  9. python常用格式化_python的常用三种格式化方法
  10. ASP.NET 如何在网页中获取根目录
  11. java winrar_WinRAR5.60官方无广告正式版
  12. C#上位机与三菱PLC通讯
  13. Bettertouchtool Mac破解版(触摸板增强神器)
  14. CSS3简单练习 魔方制作
  15. macbook或mac Apple ID 更新提示连接服务器出错
  16. 电脑回收站里不小心清理删除的文件怎么恢复?
  17. The Sandbox 与美国时装设计师协会(CFDA)达成合作,为 Web3 和时尚搭建桥梁
  18. 基于Android的手机安全卫士的开发
  19. 大功率可控硅调压电路
  20. odoo-email邮箱配置

热门文章

  1. 供应ACA-PEG-SH,Acrylamide-PEG-Thiol,用于制备PEG水凝胶
  2. python接受qq消息与发送_python给qq好友发送消息
  3. Windows XP远程桌面连接Server 2008方法
  4. openlayers学习——1、openlayers加载天地图
  5. TIFF影像的坐标文件.tfw
  6. 【第8讲】铁氧体磁芯
  7. 造车新势力排名更新:小鹏汽车连续2个月破万,蔚来汽车掉队?
  8. Hive_Hive 中计算 新旧用户, 日活,周活,月活 ,使用 ORCFile 增量更新的方式
  9. BBdoc文档搜索软件安装使用说明
  10. 剪映电脑版更专业了:智能补帧、美颜美体、SRT字幕导出齐上阵,剪映电脑版怎么补帧问题解决啦