library("jpeg")
#針對特定座標以外的距離變黑
dat <-read.csv("D:\\...\\MRT.tsv",header=FALSE,stringsAsFactors=TRUE,sep="\t")
orgpic = readJPEG("D:\\...\\old folder\\test1 00001.jpg")
gazepoint<-function(orgpic,intensity)
{
newpic=orgpic
dx=dim(orgpic)[1]
dy=dim(orgpic)[2]
GPX=dat[2,35] #test1 00001.jpg需要第35行第2列之X座標
GPY=dat[2,36] #test1 00001.jpg需要第36行第2列之Y座標
#但test1 00002.jpg則需要第35與36行,第3列之X與Y座標
intensity=max(c(dx,dy))
D2=intensity^2/64
for(i in 1:dx)
{
for(j in 1:dy)
{
d=(i-GPX)^2+(j-GPY)^2
if(d
>D2
) newpic
[i
,j
,]=newpic
[i
,j
,]*exp(-(d
-D2
)/D2
*intensity
) }
}
return(newpic)
}
writeJPEG(gazepoint(orgpic), target ="D:\\...\\new folder\\test 00001.jpg", quality = 0.95)
bGlicmFyeSgianBlZyIpCiPph53lsI3nibnlrprluqfmqJnku6XlpJbnmoTot53pm6Lororpu5EKZGF0IDwtcmVhZC5jc3YoIkQ6XFwuLi5cXE1SVC50c3YiLGhlYWRlcj1GQUxTRSxzdHJpbmdzQXNGYWN0b3JzPVRSVUUsc2VwPSJcdCIpCm9yZ3BpYyA9IHJlYWRKUEVHKCJEOlxcLi4uXFxvbGQgZm9sZGVyXFx0ZXN0MSAwMDAwMS5qcGciKQoKZ2F6ZXBvaW50PC1mdW5jdGlvbihvcmdwaWMsaW50ZW5zaXR5KQp7CiAgbmV3cGljPW9yZ3BpYwogIGR4PWRpbShvcmdwaWMpWzFdCiAgZHk9ZGltKG9yZ3BpYylbMl0KICAKICBHUFg9ZGF0WzIsMzVdICN0ZXN0MSAwMDAwMS5qcGfpnIDopoHnrKwzNeihjOesrDLliJfkuYtY5bqn5qiZCiAgR1BZPWRhdFsyLDM2XSAjdGVzdDEgMDAwMDEuanBn6ZyA6KaB56ysMzbooYznrKwy5YiX5LmLWeW6p+aomQogICPkvYZ0ZXN0MSAwMDAwMi5qcGfliYfpnIDopoHnrKwzNeiIhzM26KGM77yM56ysM+WIl+S5i1joiIdZ5bqn5qiZCiAgCiAgaW50ZW5zaXR5PW1heChjKGR4LGR5KSkKICBEMj1pbnRlbnNpdHleMi82NAogIAogIGZvcihpIGluIDE6ZHgpCiAgewogICAgZm9yKGogaW4gMTpkeSkKICAgIHsKICAgICAgZD0oaS1HUFgpXjIrKGotR1BZKV4yCiAgICAgIGlmKGQ+RDIpIG5ld3BpY1tpLGosXT1uZXdwaWNbaSxqLF0qZXhwKC0oZC1EMikvRDIqaW50ZW5zaXR5KQogICAgfQogIH0KICByZXR1cm4obmV3cGljKQp9CndyaXRlSlBFRyhnYXplcG9pbnQob3JncGljKSwgdGFyZ2V0ID0iRDpcXC4uLlxcbmV3IGZvbGRlclxcdGVzdCAwMDAwMS5qcGciLCBxdWFsaXR5ID0gMC45NSk=