PLC

基于VB.NET的色相分析系統(tǒng)的研制與開發(fā)

ainet.cn   2007年07月10日

  調配油墨是彩印工藝中的一項重要工作,這項工作做得如何,直接關系到產品的印刷質量。目前,許多中小型印刷企業(yè),甚至包括一些大型印刷企業(yè)對于油墨色彩的配置還停留在手工操作的基礎上。油墨的調試主要是根據廠家提供的基準顏色(標準色),利用經驗對油墨進行大量的實驗獲得想要的顏色值。所以,每個廠家都有自己的一套油墨配方,而每個工人根據自己的經驗也有自己的配方表,這在使用上有很大的局限性也不利于現(xiàn)代化成批量生產的要求.本文提出一種利用計算機來實現(xiàn)色相分析的方法。該方法利用計算機將所有已知配方比輸入數(shù)據庫中作為標準,數(shù)據庫的大容量和計算機的實時性使得色彩的油墨配方的查找和對比變的相對容易。在利用特制的硬件裝置采集到需要的色彩后,和標準色進行比較,查表找到合適的配比。從而避免了上述的不足。

  目前國內有關研究主要是集中在如何提高印刷圖像質量方面[1,2];對油墨配比如提高方面[3~5],多是方法的研究,軟件編寫多采用C語言。對于色相分析還沒有完整的關于使用計算機系統(tǒng)代替手工調配油墨的研究,只是文獻中有關于色彩管理系統(tǒng)的提法[6]。         

  1色相分析系統(tǒng)的組成

  系統(tǒng)結構如圖1所示,包括硬件、軟件兩部分。

    圖1 色相分析系統(tǒng)的組成

  2軟件系統(tǒng)的設計流程圖

  軟件系統(tǒng)的設計流程圖見圖2.

  2.1 簡介

  又稱VB7.0是微軟公司在VB6.0之后推出的最新版本,集成在Visual studio7.0中,與VC++7.0和C#組成了.NET構架。

  Visual Basic 是Windows環(huán)境下簡單、易學、高效的一種編程語言,其快速開發(fā)的特性深受程序員的喜愛,但是.NET以前版本的Visual Basic面向對象的能力遠遠不能滿足程序員的要求,這也是越大項目越少用Visual Basic的原因。Visual 新增和加強了許多新的面向對象的特征,如繼承、重載、多態(tài)性等等。語言的新特點也包括了對進程的控制和低層結構的操作,這些新特征使得Visual 再次成為程序員關注的焦點。使用.NET可以很好的實現(xiàn)系統(tǒng)需要的軟件功能,它良好的界面和豐富的面向對象的使用功能為以后的開發(fā)提供了良好的接口。

圖2.軟件系統(tǒng)的設計流程圖

  2.2.利用實現(xiàn)掃描

  將需要實現(xiàn)的顏色通過硬件裝置輸入計算機,是該軟件的第一步。實際系統(tǒng)中使用的是CCD,但在軟件的調試過程中,使用掃描儀代替。在Visual 中通過掃描儀獲得所需的圖像信息有3種基本的方法:通過圖像處理軟件,比如說Photoshop等,通過它們的掃描圖像的功能,加工成一定格式的圖像后再在自己的系統(tǒng)中利用。通過掃描儀接口。該接口是在安裝掃描儀時提供的,它實際上是一個Plugin插件,它通過一系列函數(shù)來控制掃描儀。通過構件技術來控制掃描儀。利用第1種方法能減少編程的復雜度,但是系統(tǒng)的集成度不高,用戶使用上也不方便;第2種方法能在驅動程序級直接控制掃描儀,能在編程上提供最大的靈活性和可控性;第3種方法能充分利用Visual 的可視化構件技術,安全、靈活、自由地利用掃描儀。但實際上第3種方法也是建立在掃描儀接口之上的。

  掃描程序的實現(xiàn)代碼如下:

  {I mg Scan: TI mg Scan }

  //檢查是否安裝了掃描儀器

  If I mg scan. Scanner Available then

  Ax I mg Scan1 .Open Scanner( )

  //打開掃描儀

  Ax I mg Scan1 . Scan To=2

  Ax I mg =”..\images\”

  //圖像將被保存

  Ax I mg Scan1 .Start Scan ( )

  //開始掃描圖像

  Ax I mg Scan1 .Close Scanner (  )

  //關閉掃描儀

  Ax I mg =”..\images\”

  //設置顯示路徑

  Ax I mg y ( )

  //顯示圖片

  End  If

  保存后完成此功能模塊。

  2.3.圖形文件的數(shù)據庫存入

  在數(shù)據庫編程中處理圖形的方法之一就是把圖形作為數(shù)據庫的一個字段存放到數(shù)據庫中;第2種方法就是把圖形的文件名作為一個字段保存到數(shù)據庫中,而一張張圖片則作為獨立的文件放在數(shù)據庫所在的文件夾中。第2種方法雖然是處理圖形的一種簡易方法,但不能較好地保護圖形文件;第1種方法雖然編寫程序比較麻煩但安全性高。

  代碼實現(xiàn)如下:

  Imports System. Data . Sql Client

  Imports System. IO

  Public Class Form1

  Inherits System . Windows . Forms . form

  Dim My Control Array As picbox

  Dim My Control Array1 As atext

  #Region “Windows窗體設計器生成的代碼”

  Public Sub New( )

  My Base .New( )

  ’該調用是Windows窗體設計器所必需的。

  Initialize Component ( )

  ’在Initialize Component ( )調用之后添加任何初始化

  End Sub

  ’窗體重寫dispose以清理組件列表。

  Protected Overloads Overrides Sub Dispose(By Val disposing As Boolean)

  If disposing Then

  If Not (components Is Nothing)Then

  Components . Dispose( )

  End If

  End If

  My Base .Dispose(disposing )

  End Sub

  2.4.獲取參照色的RGB值

  Visual 中涉及到顏色的屬性一般有Back Color (設置或返回對象的背景色)和Fore Color (設置或返回對象的前景色)。通常這些屬性是在設計時預先設置,而在運行時一般不改變。此項目需要在程序中使用顏色的值,即在運行過程中要獲得當前圖片的顏色值。Visual 中用于存儲顏色的類型有OLE__COLOR,其實質就是長整型,因而可聲明為Long類型。要獲得顏色值,通常有兩個函數(shù),即QBColor和RGB。

  其中, QBColor需要傳入一個整型值,范圍是0~15。QBColor函數(shù)只能到16種不同的顏色。相比之下,RGB函數(shù)的功能就要強大得多,它要傳入3個整型值,范圍都是0~255,分別代表構成某顏色的三原色(紅綠藍)的值,共有256×256×256=16777216種組合。如紅色:RGB(255,0,0);藍色:RGB(0,0,255)。大多數(shù)情況下,RGB使用的情況較多,那么如何通過一個長整型顏色值來得到其對應的RBG3個值呢?可以通過以下代碼來實現(xiàn):

  Red =color Mod 256

  Green =(color\256)Mod 256

  Blue=color\256\256


  3 結  論

  本文介紹使用VB.NET語言編程,實現(xiàn)對對照色RGB值的讀取以及采集到的數(shù)據如何存儲于數(shù)據庫等功能。在大量實驗數(shù)據的基礎上找出相應的規(guī)律;采用數(shù)據庫中查表功能,找到合適的配比,從而代替手工操作,提高了工作效率和準確率。軟件通過在工廠中的實際應用,效果良好。

  參考文獻:

  [1]李 偉.現(xiàn)代印刷媒體生產中的主要成像技術與應用[J].印刷技術,2003,31:17-23.

  [2]周寶根.印前操作系統(tǒng)規(guī)范化與圖像質量控制[J].印刷技術,1999,(10):11-13.

  [3]胡桂南.認識色相誤差與灰度[J].網印技術,2002,(3):45-45.

  [4]雷海東.用密度計測量油墨的色相偏差與灰成分[J].印刷雜志,2003,(6):62-62.

  [5]楊漢林.色相偏差的補救方法[J].印刷技術,2001,(9):50-52.

  [6]張桂蘭.淺談色彩管理系統(tǒng)[J].印刷技術,2000,(2):18-22.

 

 

(轉載)

標簽:分析系統(tǒng) VB.NET 我要反饋 
泰科電子ECK、ECP系列高壓直流接觸器白皮書下載
世強
優(yōu)傲機器人下載中心
億萬克
專題報道