matlab如何用代码导入文件_20+行Matlab代码实现文件扫描
最近剛好看到一篇回答,用閾值二值化處理圖片水印,受到啟發(fā)寫此代碼。閾值二值化適合處理只有黑白兩色的圖片,考慮到文件蓋章,這里作者使用像素顏色替換及灰度值處理圖片,進(jìn)一步提高處理精度和能力。
我們需要:Matlab軟件,手機(jī)拍的文件圖片
2019.2.22修改:根據(jù)評(píng)論區(qū)建議,刪除循環(huán),將代碼全部矩陣化
首先讀入圖片
filename='TestPic.jpg';%圖片名稱,默認(rèn)與代碼在同一文件夾下 img=imread(filename);%讀入圖片獲取圖片RGB值
R=img(:,:,1); G=img(:,:,2); B=img(:,:,3);篩選圖片紅色
red=(R>=100).*(R<=255).*(G<110).*(B<110);%判斷是否為紅色并得到紅色區(qū)域布爾矩陣 %這里的.*為矩陣元素各自相乘,直接使用*為矩陣乘法 %這里偷了個(gè)懶,乘法在這里的作用是矩陣相與%修改紅色區(qū)域顏色 R(red==1)=255; G(red==1)=70; B(red==1)=70;這里,RGB數(shù)值不固定,可以根據(jù)具體圖片重新調(diào)整。這里作者事先在PS里查看了原圖紅色區(qū)域RGB數(shù)值。如果你不會(huì)PS,那……總有別的辦法搞到RGB吧……實(shí)在不行咱一點(diǎn)點(diǎn)調(diào)嘛。
在PS中查看像素RGB值篩選圖片白色
將所有像素的灰度值計(jì)算出來。這里,灰度是用來判斷“白”和“黑”的工具,當(dāng)灰度大于某一值,我們認(rèn)為其應(yīng)該為白色,將該像素完全修改為白色。其余顏色不予改動(dòng)。
gray=R.*0.299+G.*0.587+B.*0.114;%灰度值計(jì)算,得到灰度值矩陣 white=(gray>120)-red;%將灰度中的紅色區(qū)域剔除,得到白色矩陣%將白色區(qū)域完全變白 R(white==1)=255; G(white==1)=255; B(white==1)=255;ps:這樣做的好處之一是,只讓白的地方更白,其他比較復(fù)雜的區(qū)域未作改變,圖片不至于偏離事實(shí)。
顏色覆蓋
這里我們將之前轉(zhuǎn)換好的RGB圖層全部賦值給res變量,res變量即最終結(jié)果。
res(:,:,1)=R(:,:); res(:,:,2)=G(:,:); res(:,:,3)=B(:,:);圖片保存
imwrite(res,'stripes2.png');%保存圖片至此,這20行代碼已經(jīng)能自動(dòng)將你手機(jī)拍的圖片轉(zhuǎn)換為“掃描文件”了
需要注意的是,拍攝圖片的時(shí)候最好在文件正上方,拍完有條件地話可以裁剪一下,這些手機(jī)自帶的軟件都可以搞定。
全部完整代碼如下:
clc; clear all; filename='TestPic.jpg';%圖片名稱,默認(rèn)與代碼在同一文件夾下 img=imread(filename);%讀入圖片 %獲取RGB圖層 R=img(:,:,1); G=img(:,:,2); B=img(:,:,3);red=(R>=100).*(R<=255).*(G<110).*(B<110);%判斷是否為紅色并得到紅色區(qū)域布爾矩陣 %這里的.*為矩陣元素各自相乘,直接使用*為矩陣乘法 %這里偷了個(gè)懶,乘法在這里的作用是矩陣相與%修改紅色區(qū)域顏色 R(red==1)=255; G(red==1)=70; B(red==1)=70;gray=R.*0.299+G.*0.587+B.*0.114;%灰度值計(jì)算,得到灰度值矩陣 white=(gray>120)-red;%將灰度中的紅色區(qū)域剔除,得到白色矩陣%將白色區(qū)域完全變白 R(white==1)=255; G(white==1)=255; B(white==1)=255;disp('轉(zhuǎn)換結(jié)束');res(:,:,1)=R(:,:); res(:,:,2)=G(:,:); res(:,:,3)=B(:,:);imwrite(res,'stripes2.png');%保存圖片 disp('圖片已保存');原圖是我在網(wǎng)上隨便找的一張,作者使用的軟件是Matlab R2016a
文件處理效果如下:
總結(jié)
以上是生活随笔為你收集整理的matlab如何用代码导入文件_20+行Matlab代码实现文件扫描的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《锋利的JQuery》notes
- 下一篇: 【元胞自动机】基于元胞自动机模拟单车道交