最近碰到一个问题:在
layout中因为某些特殊的需要,将图片转换为.gds文件。这样的图片仅需转化为一层金属即可:
通过资料查询和个人经验,我认为以下步骤最为简单,也最为方便:
图片文件->二值图文件->.cif文件->.gds文件
步骤一:图片文件转换为二值图文件
目前有很多软件支持上述转换,例如:可利用Photoshop和windows画图程序实现,具体可见下述:
1.要将普通图片转换为二值图像,可以采用Photoshop中的阈值功能,设定某个灰度阈值,则灰度大于阈值的转换为白色,小于阈值的转换为黑色;
2.或可以在windows的画图程序中,将图片打开后另存为“单色位图”。
(背景知识:二值图像英文名称:binary image定义:图像上每一像元只有两种可能的数值或灰度等级状态的图像。二值图像经常出现在数字图像处理中作为图像掩码或者在图像分割、二值化和dithering的结果中出现。一些输入输出设备,如激光打印机、传真机、单色计算机显示器等都可以处理二值图像。二值图像经常使用位图格式存储。)
步骤二:二值图文件转换为.cif文件
这是最为关键的一步。目前,似乎还没有现成的软件可是实现上述转换功能。网络上有人通过skill语言编写程序实现。因为只涉及二值图和.cif文件,程序的编写应该简单。
(背景知识:.cif文件全称为Caltech Intermediate Form。该文件是一种由ASCII码组成的文本文件,用户可以通过文本编辑器很方便的看到其中的内容。)
步骤三:.cif文件转换为.gds文件
对于上述过程的转换,也可通过很多现有的软件实现。例如:L-edit软件。
(背景知识:L-Edit 除了拥有自己的中间图形数据格式(TDB格式)外,还提供了两种最常用的集成电路
版图数据传递格式(CIF格式和GDSII格式)的输入、输出功能,可以非常方便地在不同的集成电路设计软件之间交换图形数据文件或把图形数据文件传递给光掩模制造系统。)
附:二值图解释
中文名称:二值图像英文名称:binary image定义:图像上每一像元只有两种可能的数值或灰度等级状态的图像。
二值图像 binary image
是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。这时候要用更高的灰度级。
二值图像是每个像素只有两个可能值的数字图像。人们经常用黑白、B&W、单色图像表示二值图像,但是也可以用来表示每个像素只有一个采样值的任何图像,例如灰度图像等。
二值图像中所有的像素只能从0和1这两个值中取,因此在MATLAB中,二值图像用一个由0和1组成的二维矩阵表示。这两个可取的值分别对应于关闭和打开,关闭表征该像素处于背景,而打开表征该像素处于前景。以这种方式来操作图像可以更容易识别出图像的结构特征。二值图像操作只返回与二值图像的形式或结构有关的信息,如果希望对其他类型的图像进行同样的操作,则首先要将其转换为二进制的图像格式,可以通过调用MATLAB提供的im2bw()来实现。
二值图像经常出现在数字图像处理中作为图像掩码或者在图像分割、二值化和dithering的结果中出现。一些输入输出设备,如激光打印机、传真机、单色计算机显示器等都可以处理二值图像。
二值图像经常使用位图格式存储。
二值图像可以解释为二维整数格Z,图像变形处理领域很大程度上就是受到这个观点启发。