我目前正致力于开发一个用于在R中生成视觉资质评估项目的软件包。这些项目通常以组合开始,然后以某种方式转换组合元素以创建新组合。我需要知道的是,如果存在可导致相同构成的替代变换。以数学方式浏览每个合成潜在选项并查看合成是否对某些转换不变(例如,圆不能旋转)或者如果不同的转换导致相同的结果(等边三角形旋转180与翻转相同)似乎太累了由于众多潜在的组合。
因此,我想知道是否有可用于检查R中两个图是否相同?
假设我们有两组命令都产生正方形:
plot(c(0,1), c(0,1), type='n')
lines(c(.15,.85,.85,.15,.15),c(.15,.15,.85,.85,.15))
plot(c(0,1), c(0,1), type='n')
rect(.15,.15,.85,.85)
是否有任何工具可用于逐个像素比较两个图形渲染?
答案 0 :(得分:2)
您可以将照片保存为png
并加载它们并比较各自的栅格。比较栅格只是比较像素矩阵。例如,这样做:
png(filename="pic1.png")
plot(c(0,1), c(0,1), type='n')
lines(c(.15,.85,.85,.15,.15),c(.15,.15,.85,.85,.15))
dev.off()
png(filename="pic2.png")
plot(c(0,1), c(0,1), type='n')
rect(.15,.15,.85,.85)
dev.off()
然后比较栅格我们发现它们是相同的:
library(png)
pic1 = as.raster(readPNG("pic1.png"))
pic2 = as.raster(readPNG("pic2.png"))
identical(pic1,pic2)
[1] TRUE