日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab如何用代码导入文件_20+行Matlab代码实现文件扫描

發(fā)布時間:2023/12/20 循环神经网络 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab如何用代码导入文件_20+行Matlab代码实现文件扫描 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近剛好看到一篇回答,用閾值二值化處理圖片水印,受到啟發(fā)寫此代碼。閾值二值化適合處理只有黑白兩色的圖片,考慮到文件蓋章,這里作者使用像素顏色替換及灰度值處理圖片,進(jìn)一步提高處理精度和能力。

我們需要:Matlab軟件,手機(jī)拍的文件圖片

2019.2.22修改:根據(jù)評論區(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ū)域布爾矩陣 %這里的.*為矩陣元素各自相乘,直接使用*為矩陣乘法 %這里偷了個懶,乘法在這里的作用是矩陣相與%修改紅色區(qū)域顏色 R(red==1)=255; G(red==1)=70; B(red==1)=70;

這里,RGB數(shù)值不固定,可以根據(jù)具體圖片重新調(diào)整。這里作者事先在PS里查看了原圖紅色區(qū)域RGB數(shù)值。如果你不會PS,那……總有別的辦法搞到RGB吧……實在不行咱一點點調(diào)嘛。

在PS中查看像素RGB值

篩選圖片白色

將所有像素的灰度值計算出來。這里,灰度是用來判斷“白”和“黑”的工具,當(dāng)灰度大于某一值,我們認(rèn)為其應(yīng)該為白色,將該像素完全修改為白色。其余顏色不予改動。

gray=R.*0.299+G.*0.587+B.*0.114;%灰度值計算,得到灰度值矩陣 white=(gray>120)-red;%將灰度中的紅色區(qū)域剔除,得到白色矩陣%將白色區(qū)域完全變白 R(white==1)=255; G(white==1)=255; B(white==1)=255;

ps:這樣做的好處之一是,只讓白的地方更白,其他比較復(fù)雜的區(qū)域未作改變,圖片不至于偏離事實。

顏色覆蓋

這里我們將之前轉(zhuǎn)換好的RGB圖層全部賦值給res變量,res變量即最終結(jié)果。

res(:,:,1)=R(:,:); res(:,:,2)=G(:,:); res(:,:,3)=B(:,:);

圖片保存

imwrite(res,'stripes2.png');%保存圖片

至此,這20行代碼已經(jīng)能自動將你手機(jī)拍的圖片轉(zhuǎn)換為“掃描文件”了

需要注意的是,拍攝圖片的時候最好在文件正上方,拍完有條件地話可以裁剪一下,這些手機(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ū)域布爾矩陣 %這里的.*為矩陣元素各自相乘,直接使用*為矩陣乘法 %這里偷了個懶,乘法在這里的作用是矩陣相與%修改紅色區(qū)域顏色 R(red==1)=255; G(red==1)=70; B(red==1)=70;gray=R.*0.299+G.*0.587+B.*0.114;%灰度值計算,得到灰度值矩陣 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代码实现文件扫描的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。