我目前正在开发一个包,用于在 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)
Run Code Online (Sandbox Code Playgroud)
是否有任何工具可用于对两个图形渲染进行逐像素比较?
您可以将图片另存为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()
Run Code Online (Sandbox Code Playgroud)
然后比较栅格,我们发现它们是相同的:
library(png)
pic1 = as.raster(readPNG("pic1.png"))
pic2 = as.raster(readPNG("pic2.png"))
identical(pic1,pic2)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |