本文主要是介绍010 MATLAB奇淫技巧之实现图片扫描,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近,由于需要补电路实验,所以把同学的书借来了,还有一个大实验没做,可是同学也要开始做了,所以在还回去之前只好全部拍下来,但是799的手机拍出来的渣渣像素可想而知,于是乎,想到了知乎上一个用matlab做出打印效果的例子(MATLAB 中有哪些命令,让人相见恨晚?),自己也动手尝试并改进(增加了批处理)了这个程序,又一个奇淫技巧诞生了,哈哈。
先欣赏一下我的渣渣像素:
其实这个程序的主要思想就是让黑色更加黑,如果没有记错,在图片处理软件里面又一个锐化,效果应该跟这个差不多!
大概流程就是:
1、读入图片,然后保存为一个三维矩阵,(第三维就是Red、Green、Blue啊)
2、将彩色图片转化成灰度图(具体怎么转换的大家可以百度),但是要清楚,虽然变成了一个二维矩阵,图像也变成了灰色。
3、将相对较百(矩阵数值相对较大)的调为最白(225)。
4、将新矩阵转换为图片并输出。
以下是源代码(我这里一次处理了1.jpg到9.jpg九张图片)
tic
for k = 1:9ch = [num2str(k) '.jpg'];RGB = imread(ch);%read the imageGRAY = rgb2gray(RGB);[m, n] = size(GRAY);%get the num of rows and columnsfor i=1:mfor j=1:nif GRAY(i, j)>110GRAY(i, j)=225;endendendch = [num2str(k) '.bmp'];imwrite(GRAY, ch);%store the image
end
toc
下面该是看效果的时候啦:
再来个对比:
再来个放大的:
这下应该能看清了吧!!!!!!
时间消耗也能忍受9秒左右
再也不用担心别人发来的答案或者笔记看着费力了。
这篇关于010 MATLAB奇淫技巧之实现图片扫描的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!