⑴ delphi 怎樣將二進制字元串轉化為圖片文件
將一個圖片轉換成二進制編碼,再將一個二進制字元串轉換成為圖片實例:
Java代碼
publicclassTest{
publicstaticvoidmain(String[]args){
try{
//將圖片轉換成字元串
Filef=newFile("c:\biao.png");
FileInputStreamfis=newFileInputStream(f);
byte[]bytes=newbyte[fis.available()];
fis.read(bytes);
fis.close();
//生成字元串
StringimgStr=byte2hex(bytes);
System.out.println(imgStr);
//將字元串轉換成二進制,用於顯示圖片
//將上面生成的圖片格式字元串imgStr,還原成圖片顯示
OutputStreamo=newFileOutputStream("c:\878789.png");
byte[]imgByte=hex2byte(imgStr);
InputStreamin=newByteArrayInputStream(imgByte);
byte[]b=newbyte[1024];
intnRead=0;
while((nRead=in.read(b))!=-1){
o.write(b,0,nRead);
}
o.flush();
o.close();
in.close();
}catch(Exceptione){
e.printStackTrace();
}finally{
}
}
/**
*二進制轉字元串
*@parambbyte數組
*@return二進制字元串
*/
publicstaticStringbyte2hex(byte[]b){
StringBuffersb=newStringBuffer();
Stringstmp="";
for(intn=0;n<b.length;n++){
stmp=Integer.toHexString(b[n]&0XFF);
if(stmp.length()==1){
sb.append("0"+stmp);
}else{
sb.append(stmp);
}
}
returnsb.toString();
}
/**
*字元串轉二進制
*@paramstr字元串
*@returnbyte數組
*/
publicstaticbyte[]hex2byte(Stringstr){
if(str==null)
returnnull;
str=str.trim();
intlen=str.length();
if(len==0||len%2==1)
returnnull;
byte[]b=newbyte[len/2];
try{
for(inti=0;i<str.length();i+=2){
b[i/2]=(byte)Integer.decode("0X"+str.substring(i,i+2)).intValue();
}
returnb;
}catch(Exceptione){
returnnull;
}
}
}
⑵ 有沒有一種軟體可以將書上文字拍照,然後轉化成word形式
有一種軟體可以將書上文字拍照,然後轉化成word形式是在電腦上安裝OCR軟體,如迅捷OCR文字識別軟體。
OCR文字識別軟體,指利用OCR(光學字元識別)技術,將圖片、照片上的文字內容,直接轉換為可編輯文本的軟體。軟體可以把圖片轉換成可以編輯的文字。支持JPG、PNG、GIF、BMP、DOC等圖片格式。
由於掃描儀的普及與廣泛應用,OCR軟體只需提供與掃描儀的介面,利用掃描儀驅動軟體即可。因此,OCR軟體主要是由下面幾個部分組成。
1、圖像輸入、預處理:
圖像輸入:對於不同的圖像格式,有著不同的存儲格式,不同的壓縮方式。預處理:主要包括二值化,雜訊去除,傾斜較正等
2、二值化:
對攝像頭拍攝的圖片,大多數是彩色圖像,彩色圖像所含信息量巨大,對於圖片的內容,我們可以簡單的分為前景與背景,為了讓計算機更快的,更好的識別文字,我們需要先對彩色圖進行處理,使圖片只前景信息與背景信息,可以簡單的定義前景信息為黑色,背景信息為白色,這就是二值化圖了。
3、雜訊去除:
對於不同的文檔,我們對雜訊的定義可以不同,根據雜訊的特徵進行去噪,就叫做雜訊去除
4、傾斜較正:
由於一般用戶,在拍照文檔時,都比較隨意,因此拍照出來的圖片不可避免的產生傾斜,這就需要文字識別軟體進行較正。
5、將文檔圖片分段落,分行的過程就叫做版面分析,由於實際文檔的多樣性,復雜性,因此,還沒有一個固定的,最優的切割模型。
6、字元切割:
由於拍照條件的限制,經常造成字元粘連,斷筆,因此極大限制了識別系統的性能,這就需要文字識別軟體有字元切割功能。
7、字元識別:
這一研究,已經是很早的事情了,比較早有模板匹配,後來以特徵提取為主,由於文字的位移,筆畫的粗細,斷筆,粘連,旋轉等因素的影響,極大影響特徵的提取的難度。
8、版面恢復:
人們希望識別後的文字,仍然像原文檔圖片那樣排列著,段落不變,位置不變,順序不變,的輸出到word文檔,pdf文檔等,這一過程就叫做版面恢復。
9、後處理、校對:
根據特定的語言上下文的關系,對識別結果進行較正,就是後處理。開發一個OCR文字識別軟體系統,其目的很簡單,只是要把影像作一個轉換,使影像內的圖形繼續保存、有表格則表格內資料及影像內的文字,一律變成計算機文字,
使能達到影像資料的儲存量減少、識別出的文字可再使用及分析,當然也可節省因鍵盤輸入的人力與時間。