微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R可以从谷歌地图获取特定区域的坐标吗?

如何解决R可以从谷歌地图获取特定区域的坐标吗?

我尝试描述我的问题。 这里谷歌地图 https://www.google.ru/maps/@9.1424367,114652m/data=!3m1!1e3 (印度区普度科坦) 假设我需要在这个领域工作

enter image description here

我该怎么办! 首先 放大卫星图像

enter image description here

主要任务获取绿色田地(播种田)和棕色田地(非播种田)坐标

有没有办法将坐标绿色和棕色字段获取到data.frame(1-green,0-brown)? 或者是否有任何 CV 方法可以识别所选地区的绿色和棕色田野?

解决方法

不确定这是否能解决您的问题...但这是第一种方法;在图像中搜索特定颜色(具有容差)..

library(raster)

#load inmage you posted in question
myimage.jpg <- tempfile()
download.file("https://i.stack.imgur.com/4WCt2.jpg",myimage.jpg,mode = "wb")
#load image to raster
myimage.raster <- raster::stack(myimage.jpg)
names(myimage.raster) <- c("r","g","b")
#what it looks like
plotRGB(myimage.raster)

#select some forest
myimage.forest <- myimage.raster
myimage.forest$forest <- 0
#values of greenish stuff,play around here
red       <- 100 
green     <- 90
blue      <- 60
tolerance <- 50  #this is your firs vairiable to tamper with...

#let's find some forest
myimage.forest$forest[ myimage.forest$r > (red * (100 - tolerance) / 100) & 
                         myimage.forest$r < (red * (100 + tolerance) / 100) &
                         myimage.forest$g > (green * (100 - tolerance) / 100) & 
                         myimage.forest$g < (green * (100 + tolerance) / 100) &
                         myimage.forest$b > (blue * (100 - tolerance) / 100) & 
                         myimage.forest$b < (blue * (100 + tolerance) / 100)] <- 1
#what does this look like?
plot(myimage.forest$forest)

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。