在Altium Designer13 中插入图片,制作书签

         在绘制PCB电路板时,我们可能会添加一些Logo或一些感兴趣的图片,使我们制作出来的PCB电路板更加好看吸引人。

问题:我为什么会要研究一下这个小问题(小技术)?  

原因:我的一位同学在图书馆借到的一本书中夹了一张书签。这不是普通的书签,是用PCB电路板制成的书签,是双面的,每一面都有图画而且配有古诗。当时感觉特别NBNB。于是决定做一个。

工具:1.opencv+vs2013或matlab。 

           2.PhotoZoom.Pro.v6.0.2  图片无损放大工具

           3.Bmp2Pcb                  bmp图像文件 to pcb 工具


过程

     1.找到一张喜欢的图片,将彩色图片进行二值化变成黑白图片。这里可以采用opencv+vs2013或matlab。刚好我电脑里装了opencv所以我选择opencv。主要是没装matlab,其实用matlab也挺简单的。     这是我选的图片。这是我们学院社团的Logo,学弟刚好需要把Logo加到PCB中。

 这里我使用的opencv2.4.9 程序: 程序我是在网上资料的基础上改过来的,有些地方有些问题,但是大体是好用的。

至于具体的函数使用方法在这里我就不仔细讲解了,可以看看网上的资料。


 #include"stdafx.h"
#include <opencv2/opencv.hpp>  
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")//运行时不显示DOS框  


void sum_rgb(IplImage* src, IplImage* dst)  //该函数的作用就是转灰度后二值化
{
IplImage* r = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
IplImage* g = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
IplImage* b = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);


//函数 cvSplit 分割多通道数组成分离的单通道数组d
cvSplit(src, r, g, b, NULL);
IplImage* s = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);


cvAddWeighted(r, 1. / 3, g, 1. / 3, 0.0, s);
cvAddWeighted(s, 2. / 3, b, 1. / 3, 0.0, s);
cvThreshold(s, dst, 100, 255, CV_THRESH_BINARY);


cvReleaseImage(&r);
cvReleaseImage(&g);
cvReleaseImage(&b);
cvReleaseImage(&s);




IplImage* s1 = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
cvCvtColor(src, s1, CV_BGR2GRAY);
cvThreshold(s1, dst,240, 255, CV_THRESH_BINARY);


}


int main()
{


cvNamedWindow("aaa", 1);
IplImage* src = cvLoadImage("D:\ha.JPG");
IplImage* dst = cvCreateImage(cvGetSize(src), src->depth, 1);


sum_rgb(src, dst);
cvShowImage("aaa", dst);
cvSaveImage("D:\ha2.png", dst);
cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&src);
cvReleaseImage(&dst);


return 0;
}

    二值化后的图片

  2.二值化后的图片格式PNG格式,运用美图秀秀将格式改为bmp格式。因为bmptopcb软件只能利用bmp格式的图片,所以要转换。

 3.使用bmptopcb软件将图片转换至pcb文件,这里要选择分辨率,那一层,使用比较简单,这里不再赘述。

  用Altium Designer软件打开转换后的文件时看到的效果。

             讲到这里,主体部分已经讲完了。建议大家可以建立一个Logo库把一些将常用到的Logo放到一个库中,方便调用。


注意事项

  1.图片大小问题:你选的图片可能过小,在Altium Designer中很小,以后在实际在Pcb电路板中会很小不符合实际。

因此需要放大图片。就用到了PhotoZoom.Pro.v6.0.2  图片无损放大工具。使用方法很简单,大家一看就会用。

 2.在bmptopcb软件中,需要调整分辨率,直接影响pcb文件中的图片清晰程度。

 3.在opencv二值化程序中,可以通过改变阈值,来调整转后的黑白图片的清晰程度。


下面展示一下我做的书签,现在还没有发板子,等板子做好后我再传一张图给大家看看。




有什么问题,欢饮大家留言 ps我邮箱454076224@qq.com


--------------------------------------------------2016.05.01 更新----------------------------------------------------------------

好久没有做logo了,这次又心血来潮想在自己画的板子上做上一点自己特有的标记图案,所以又把这篇技术文档又翻出来了。现在对上边的一些问题做下跟新。

1.前面是用的opencv对彩色图像进行的处理,但是配置opencv太麻烦了 所以现在改用matalab来进行图像处理。


aa=imread('d:\1.jpg');   %读取图片
figure(1);
imshow(aa);
bb=rgb2gray(aa);        %彩色图转灰度图
figure(2);
imshow(bb);
cc=im2bw(bb,0.45);      %灰度图转二值黑白图  后面一个参数是调阈值  0—1
figure(3);
imshow(cc);

将图片处理好后,要保存为bmp图片格式的,应为下一步软件需要bmp的图片格式。


2.BMP2PCB用法

先加载图片,选择转换操作的格式,选择分辨率的,按住ctrl键,选择图片上需要保存的颜色。



说明一下:该软件可以转换彩色的图片,但是转换的效果并不好,所以我建议还是将彩色图片先转换为二值化的黑白图片在用这个工具比较好。


3.转换好后会生成一个pcb文件,但是会遇到用 Altium designer(本人用的是AD13版本也没有pcb显示出来) 去打开,但是没有pcb图显示出来。这是因为AD13版本需要安装导入插件。好像BMP2PCB生成的pcb文件是支持protel软件的,对新版本的AD软件不太支持。需要在AD里安装导入文件的插件。

点击DXP-》Plug-ins and updates -》选择importers and Exporters


现在需要选择一些插件了,其实我也不知道哪个插件能解决这个问题,最后将所有插件都安装了,就好使了。




就是为了这个头像又把这个老技术又翻了出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值