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

2019-07-14 09:03发布

         在绘制PCB电路板时,我们可能会添加一些Logo或一些感兴趣的图片,使我们制作出来的PCB电路板更加好看吸引人。 问题:我为什么会要研究一下这个小问题(小技术)?   原因:我的一位同学在图书馆借到的一本书中夹了一张书签。这不是普通的书签,是用PCB电路板制成的书签,是双面的,每一面都有图画而且配有古诗。当时感觉特别NBNB。于是决定做一个。 工具:1.opencv+vs2013或matlab。             2.PhotoZoom.Pro.v6.0.2  图片无损放大工具            3.Bmp2Pcb                  bmp图像文件 to pcb 工具
过程      1.找到一张喜欢的图片,将彩 {MOD}图片进行二值化变成黑白图片。这里可以采用opencv+vs2013或matlab。刚好我电脑里装了opencv所以我选择opencv。主要是没装matlab,其实用matlab也挺简单的。     这是我选的图片。这是我们学院社团的Logo,学弟刚好需要把Logo加到PCB中。  这里我使用的opencv2.4.9 程序: 程序我是在网上资料的基础上改过来的,有些地方有些问题,但是大体是好用的。 至于具体的函数使用方法在这里我就不仔细讲解了,可以看看网上的资料。
 #include"stdafx.h"
#include  
#include
#include
#include
#include
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对彩 {MOD}图像进行的处理,但是配置opencv太麻烦了 所以现在改用matalab来进行图像处理。 aa=imread('d:1.jpg'); %读取图片 figure(1); imshow(aa); bb=rgb2gray(aa); %彩 {MOD}图转灰度图 figure(2); imshow(bb); cc=im2bw(bb,0.45); %灰度图转二值黑白图 后面一个参数是调阈值 0—1 figure(3); imshow(cc); 将图片处理好后,要保存为bmp图片格式的,应为下一步软件需要bmp的图片格式。
2.BMP2PCB用法 先加载图片,选择转换操作的格式,选择分辨率的,按住ctrl键,选择图片上需要保存的颜 {MOD}。

说明一下:该软件可以转换彩 {MOD}的图片,但是转换的效果并不好,所以我建议还是将彩 {MOD}图片先转换为二值化的黑白图片在用这个工具比较好。
3.转换好后会生成一个pcb文件,但是会遇到用 Altium designer(本人用的是AD13版本也没有pcb显示出来) 去打开,但是没有pcb图显示出来。这是因为AD13版本需要安装导入插件。好像BMP2PCB生成的pcb文件是支持protel软件的,对新版本的AD软件不太支持。需要在AD里安装导入文件的插件。 点击DXP-》Plug-ins and updates -》选择importers and Exporters
现在需要选择一些插件了,其实我也不知道哪个插件能解决这个问题,最后将所有插件都安装了,就好使了。


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