Skip to content

Commit 2f94fd6

Browse files
committed
mosaic
1 parent fe46fdb commit 2f94fd6

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

_posts/2011-06-14-mosaic-plot-with-r.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,34 @@ published: true
1717

1818
用的原图我就不贴了,实际上我是戴着眼镜的,马赛克平滑以后,不明显了。
1919

20-
最后是[代码](/upload/pic/main.r)。非常简单,不到20行。大概所需要的时间:构思写代码1个小时,下载和整理图片时间长点,3个多小时(当然你本地资源和<a href="http://www.matrix67.com/blog" target="_blank">Matrix67</a>一样丰富的话另说,哈)。
20+
最后是代码,非常简单,不到20行:
21+
22+
setwd('D:/doc/image/me')
23+
library(ReadImages)
24+
library(sqldf)
25+
me <- read.jpeg('fun.jpg')
26+
meid <- data.frame(z = 1:1200, y = as.numeric(me))
27+
meid <- sqldf('select * from meid order by y')
28+
29+
setwd('D:/doc/image/others')
30+
tmp <- NULL
31+
for(i in dir()) tmp[[i]] <- read.jpeg(i)
32+
id <- sapply(tmp, mean)
33+
id <- data.frame(n = names(id), m = id)
34+
id <- sqldf('select * from id order by m')
35+
idx <- cbind(id, meid)
36+
idx <- sqldf('select * from idx order by z')
37+
38+
setwd('D:/doc/image')
39+
png('me.png', height = 1000, width = 750)
40+
par(mfcol = c(40,30), mar = rep(0,4), xpd = NA)
41+
for(i in idx$n) plot(tmp[[i]])
42+
dev.off()
43+
44+
## 处理图片 ##
45+
setwd('D:/doc/image/others')
46+
shell("convert *.jpg -crop 120x120+10+5 thumbnail%03d.png")
47+
shell("del *.jpg")
48+
shell("convert -type Grayscale *.png thumbnail%03d.png")
49+
50+
大概所需要的时间:构思写代码1个小时,下载和整理图片时间长点,3个多小时(当然你本地资源和<a href="http://www.matrix67.com/blog" target="_blank">Matrix67</a>一样丰富的话另说,哈)。

0 commit comments

Comments
 (0)