把大圖裡面的漢字分割成每一個小圖?


識別一下空行空列然後根據空行空列的位置分割一下就行

(*要分割的圖片地址,可以是網路也可以是本地*)
img = Import["https://pic1.zhimg.com/f9218531b3b271a68ab9dfe358a6d7e0_b.png"];
mat = ImageData@img;
dat = ImageData@Binarize@img;
Outer[Image@mat[[##]] ,
Sequence @@ (Span @@@
Partition[
Flatten@Position[#, {1 ..}] // Split[#, #1 + 1 == #2 ] //
Mean /@ # // Round // Flatten[{1, #, -1}] , 2,
1] /@ {dat, dat[Transpose]})]

代碼是Mathematica的,MATLAB同理

效果如圖

(*話說剛在Mathematica吧看到了完全相同的問題,所以這其實是某暑期課作業吧*)


ImagePartition[ImageResize[img,{578,968}],{17,22}]


推薦閱讀:

simulink中如何輸出兩個上升沿之間的時間差?或記住某一時刻。用s函數么。請見下面詳細描述,謝謝
matlab中的randn函數如何重複前一次的隨機數?
Matlab求解方程組?
Python有沒有類似Matlab中xlswrite這種寫入數據到Excel的方式?
機械的學生,MATLAB 應該學些什麼?

TAG:MATLAB | WolframMathematica |