How to count rocks of different sizes on a shoreline?
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;
up vote
4
down vote
favorite
I have a 5cm resolution geotiff image for a shoreline. I need to count the number of rocks in three classes (e.g., >6 feet, 3-6 feet, and <3 feet). I don't have any point cloud data. What will be the best gis approach to solve this problem?
arcgis-desktop geotiff-tiff digital-image-processing
New contributor
 |Â
show 8 more comments
up vote
4
down vote
favorite
I have a 5cm resolution geotiff image for a shoreline. I need to count the number of rocks in three classes (e.g., >6 feet, 3-6 feet, and <3 feet). I don't have any point cloud data. What will be the best gis approach to solve this problem?
arcgis-desktop geotiff-tiff digital-image-processing
New contributor
3
A "geotiff image" could be anything! It could be a 3-band RGB image, a DEM, some calculated index, etc. Please specify what your image data are. Even better, provide a picture.
â Jon
2 hours ago
1
when you said this:>6 feet, 3-6 feet, and <6 feet
did you mean this:>6 feet, 3-6 feet, and <3 feet
?
â Kirk Kuykendall
2 hours ago
2
@Javed Ok, there is no way that's a 1 band 8 bit raster. Also, I don't think this is a great question for GIS because it's really image processing. You won't need to use any GIS techniques to solve it (unless you want the georeferenced coordinates of each rock). Also, it looks pretty difficult. You'll need edge detection/object identification of some kind. The trees and the algae aren't doing you any favors, either. If you're just doing this image, you can do it by hand by tracing either rock boundaries or major axes, then GIS would be useful.
â Jon
2 hours ago
2
I suggest you ask in the imagej forum forum.image.sc The imagej is used to identify shapes, size, colors, etc. in microscope images, I believe someone there can help you.
â hugonbg
1 hour ago
2
Since this seems pretty fuzzy, what with rocks being covered by others and other objects, you might want to approach this a rough pattern density problem. Botanists use pictures/transparencies of density to classify sections. There's certainly a way to use GIS to help with this.
â danak
1 hour ago
 |Â
show 8 more comments
up vote
4
down vote
favorite
up vote
4
down vote
favorite
I have a 5cm resolution geotiff image for a shoreline. I need to count the number of rocks in three classes (e.g., >6 feet, 3-6 feet, and <3 feet). I don't have any point cloud data. What will be the best gis approach to solve this problem?
arcgis-desktop geotiff-tiff digital-image-processing
New contributor
I have a 5cm resolution geotiff image for a shoreline. I need to count the number of rocks in three classes (e.g., >6 feet, 3-6 feet, and <3 feet). I don't have any point cloud data. What will be the best gis approach to solve this problem?
arcgis-desktop geotiff-tiff digital-image-processing
arcgis-desktop geotiff-tiff digital-image-processing
New contributor
New contributor
edited 1 hour ago
lambertj
1,4171421
1,4171421
New contributor
asked 2 hours ago
Javed
213
213
New contributor
New contributor
3
A "geotiff image" could be anything! It could be a 3-band RGB image, a DEM, some calculated index, etc. Please specify what your image data are. Even better, provide a picture.
â Jon
2 hours ago
1
when you said this:>6 feet, 3-6 feet, and <6 feet
did you mean this:>6 feet, 3-6 feet, and <3 feet
?
â Kirk Kuykendall
2 hours ago
2
@Javed Ok, there is no way that's a 1 band 8 bit raster. Also, I don't think this is a great question for GIS because it's really image processing. You won't need to use any GIS techniques to solve it (unless you want the georeferenced coordinates of each rock). Also, it looks pretty difficult. You'll need edge detection/object identification of some kind. The trees and the algae aren't doing you any favors, either. If you're just doing this image, you can do it by hand by tracing either rock boundaries or major axes, then GIS would be useful.
â Jon
2 hours ago
2
I suggest you ask in the imagej forum forum.image.sc The imagej is used to identify shapes, size, colors, etc. in microscope images, I believe someone there can help you.
â hugonbg
1 hour ago
2
Since this seems pretty fuzzy, what with rocks being covered by others and other objects, you might want to approach this a rough pattern density problem. Botanists use pictures/transparencies of density to classify sections. There's certainly a way to use GIS to help with this.
â danak
1 hour ago
 |Â
show 8 more comments
3
A "geotiff image" could be anything! It could be a 3-band RGB image, a DEM, some calculated index, etc. Please specify what your image data are. Even better, provide a picture.
â Jon
2 hours ago
1
when you said this:>6 feet, 3-6 feet, and <6 feet
did you mean this:>6 feet, 3-6 feet, and <3 feet
?
â Kirk Kuykendall
2 hours ago
2
@Javed Ok, there is no way that's a 1 band 8 bit raster. Also, I don't think this is a great question for GIS because it's really image processing. You won't need to use any GIS techniques to solve it (unless you want the georeferenced coordinates of each rock). Also, it looks pretty difficult. You'll need edge detection/object identification of some kind. The trees and the algae aren't doing you any favors, either. If you're just doing this image, you can do it by hand by tracing either rock boundaries or major axes, then GIS would be useful.
â Jon
2 hours ago
2
I suggest you ask in the imagej forum forum.image.sc The imagej is used to identify shapes, size, colors, etc. in microscope images, I believe someone there can help you.
â hugonbg
1 hour ago
2
Since this seems pretty fuzzy, what with rocks being covered by others and other objects, you might want to approach this a rough pattern density problem. Botanists use pictures/transparencies of density to classify sections. There's certainly a way to use GIS to help with this.
â danak
1 hour ago
3
3
A "geotiff image" could be anything! It could be a 3-band RGB image, a DEM, some calculated index, etc. Please specify what your image data are. Even better, provide a picture.
â Jon
2 hours ago
A "geotiff image" could be anything! It could be a 3-band RGB image, a DEM, some calculated index, etc. Please specify what your image data are. Even better, provide a picture.
â Jon
2 hours ago
1
1
when you said this:
>6 feet, 3-6 feet, and <6 feet
did you mean this: >6 feet, 3-6 feet, and <3 feet
?â Kirk Kuykendall
2 hours ago
when you said this:
>6 feet, 3-6 feet, and <6 feet
did you mean this: >6 feet, 3-6 feet, and <3 feet
?â Kirk Kuykendall
2 hours ago
2
2
@Javed Ok, there is no way that's a 1 band 8 bit raster. Also, I don't think this is a great question for GIS because it's really image processing. You won't need to use any GIS techniques to solve it (unless you want the georeferenced coordinates of each rock). Also, it looks pretty difficult. You'll need edge detection/object identification of some kind. The trees and the algae aren't doing you any favors, either. If you're just doing this image, you can do it by hand by tracing either rock boundaries or major axes, then GIS would be useful.
â Jon
2 hours ago
@Javed Ok, there is no way that's a 1 band 8 bit raster. Also, I don't think this is a great question for GIS because it's really image processing. You won't need to use any GIS techniques to solve it (unless you want the georeferenced coordinates of each rock). Also, it looks pretty difficult. You'll need edge detection/object identification of some kind. The trees and the algae aren't doing you any favors, either. If you're just doing this image, you can do it by hand by tracing either rock boundaries or major axes, then GIS would be useful.
â Jon
2 hours ago
2
2
I suggest you ask in the imagej forum forum.image.sc The imagej is used to identify shapes, size, colors, etc. in microscope images, I believe someone there can help you.
â hugonbg
1 hour ago
I suggest you ask in the imagej forum forum.image.sc The imagej is used to identify shapes, size, colors, etc. in microscope images, I believe someone there can help you.
â hugonbg
1 hour ago
2
2
Since this seems pretty fuzzy, what with rocks being covered by others and other objects, you might want to approach this a rough pattern density problem. Botanists use pictures/transparencies of density to classify sections. There's certainly a way to use GIS to help with this.
â danak
1 hour ago
Since this seems pretty fuzzy, what with rocks being covered by others and other objects, you might want to approach this a rough pattern density problem. Botanists use pictures/transparencies of density to classify sections. There's certainly a way to use GIS to help with this.
â danak
1 hour ago
 |Â
show 8 more comments
1 Answer
1
active
oldest
votes
up vote
2
down vote
For the most part not an ArcGIS answer but you could try it anyway since it is completely free software.
You could try using scikit-image. It comes with Anaconda (with Anaconda you also get jupyter-notebook which is a great python ide).
I followed this tutorial and got some results: Region-based segmentation
import skimage
import numpy as np
rocks = skimage.io.imread('/home/bera/Downloads/rocks.jpg')
rocks_greyscale = skimage.color.rgb2gray(rocks)
elevation_map = skimage.filters.sobel(rocks_greyscale)
markers = np.zeros_like(rocks_greyscale)
markers[rocks_greyscale < 0.3] = 1 #Adjust, I just tried different values
markers[rocks_greyscale > 0.7] = 2 #Adjust
segmentation = skimage.morphology.watershed(elevation_map, markers)
skimage.io.imsave('/home/bera/Downloads/rocks_segmented.tif',segmentation)
You will need some tweaking. Not all stones are segmented and some things that are not stones is. Then convert the output image to vector and use for example minimum bounding geometry to get size of stones. Or use some raster tool to count different size objects.
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
For the most part not an ArcGIS answer but you could try it anyway since it is completely free software.
You could try using scikit-image. It comes with Anaconda (with Anaconda you also get jupyter-notebook which is a great python ide).
I followed this tutorial and got some results: Region-based segmentation
import skimage
import numpy as np
rocks = skimage.io.imread('/home/bera/Downloads/rocks.jpg')
rocks_greyscale = skimage.color.rgb2gray(rocks)
elevation_map = skimage.filters.sobel(rocks_greyscale)
markers = np.zeros_like(rocks_greyscale)
markers[rocks_greyscale < 0.3] = 1 #Adjust, I just tried different values
markers[rocks_greyscale > 0.7] = 2 #Adjust
segmentation = skimage.morphology.watershed(elevation_map, markers)
skimage.io.imsave('/home/bera/Downloads/rocks_segmented.tif',segmentation)
You will need some tweaking. Not all stones are segmented and some things that are not stones is. Then convert the output image to vector and use for example minimum bounding geometry to get size of stones. Or use some raster tool to count different size objects.
add a comment |Â
up vote
2
down vote
For the most part not an ArcGIS answer but you could try it anyway since it is completely free software.
You could try using scikit-image. It comes with Anaconda (with Anaconda you also get jupyter-notebook which is a great python ide).
I followed this tutorial and got some results: Region-based segmentation
import skimage
import numpy as np
rocks = skimage.io.imread('/home/bera/Downloads/rocks.jpg')
rocks_greyscale = skimage.color.rgb2gray(rocks)
elevation_map = skimage.filters.sobel(rocks_greyscale)
markers = np.zeros_like(rocks_greyscale)
markers[rocks_greyscale < 0.3] = 1 #Adjust, I just tried different values
markers[rocks_greyscale > 0.7] = 2 #Adjust
segmentation = skimage.morphology.watershed(elevation_map, markers)
skimage.io.imsave('/home/bera/Downloads/rocks_segmented.tif',segmentation)
You will need some tweaking. Not all stones are segmented and some things that are not stones is. Then convert the output image to vector and use for example minimum bounding geometry to get size of stones. Or use some raster tool to count different size objects.
add a comment |Â
up vote
2
down vote
up vote
2
down vote
For the most part not an ArcGIS answer but you could try it anyway since it is completely free software.
You could try using scikit-image. It comes with Anaconda (with Anaconda you also get jupyter-notebook which is a great python ide).
I followed this tutorial and got some results: Region-based segmentation
import skimage
import numpy as np
rocks = skimage.io.imread('/home/bera/Downloads/rocks.jpg')
rocks_greyscale = skimage.color.rgb2gray(rocks)
elevation_map = skimage.filters.sobel(rocks_greyscale)
markers = np.zeros_like(rocks_greyscale)
markers[rocks_greyscale < 0.3] = 1 #Adjust, I just tried different values
markers[rocks_greyscale > 0.7] = 2 #Adjust
segmentation = skimage.morphology.watershed(elevation_map, markers)
skimage.io.imsave('/home/bera/Downloads/rocks_segmented.tif',segmentation)
You will need some tweaking. Not all stones are segmented and some things that are not stones is. Then convert the output image to vector and use for example minimum bounding geometry to get size of stones. Or use some raster tool to count different size objects.
For the most part not an ArcGIS answer but you could try it anyway since it is completely free software.
You could try using scikit-image. It comes with Anaconda (with Anaconda you also get jupyter-notebook which is a great python ide).
I followed this tutorial and got some results: Region-based segmentation
import skimage
import numpy as np
rocks = skimage.io.imread('/home/bera/Downloads/rocks.jpg')
rocks_greyscale = skimage.color.rgb2gray(rocks)
elevation_map = skimage.filters.sobel(rocks_greyscale)
markers = np.zeros_like(rocks_greyscale)
markers[rocks_greyscale < 0.3] = 1 #Adjust, I just tried different values
markers[rocks_greyscale > 0.7] = 2 #Adjust
segmentation = skimage.morphology.watershed(elevation_map, markers)
skimage.io.imsave('/home/bera/Downloads/rocks_segmented.tif',segmentation)
You will need some tweaking. Not all stones are segmented and some things that are not stones is. Then convert the output image to vector and use for example minimum bounding geometry to get size of stones. Or use some raster tool to count different size objects.
edited 20 mins ago
answered 28 mins ago
BERA
11.8k41537
11.8k41537
add a comment |Â
add a comment |Â
Javed is a new contributor. Be nice, and check out our Code of Conduct.
Javed is a new contributor. Be nice, and check out our Code of Conduct.
Javed is a new contributor. Be nice, and check out our Code of Conduct.
Javed is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f297035%2fhow-to-count-rocks-of-different-sizes-on-a-shoreline%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
3
A "geotiff image" could be anything! It could be a 3-band RGB image, a DEM, some calculated index, etc. Please specify what your image data are. Even better, provide a picture.
â Jon
2 hours ago
1
when you said this:
>6 feet, 3-6 feet, and <6 feet
did you mean this:>6 feet, 3-6 feet, and <3 feet
?â Kirk Kuykendall
2 hours ago
2
@Javed Ok, there is no way that's a 1 band 8 bit raster. Also, I don't think this is a great question for GIS because it's really image processing. You won't need to use any GIS techniques to solve it (unless you want the georeferenced coordinates of each rock). Also, it looks pretty difficult. You'll need edge detection/object identification of some kind. The trees and the algae aren't doing you any favors, either. If you're just doing this image, you can do it by hand by tracing either rock boundaries or major axes, then GIS would be useful.
â Jon
2 hours ago
2
I suggest you ask in the imagej forum forum.image.sc The imagej is used to identify shapes, size, colors, etc. in microscope images, I believe someone there can help you.
â hugonbg
1 hour ago
2
Since this seems pretty fuzzy, what with rocks being covered by others and other objects, you might want to approach this a rough pattern density problem. Botanists use pictures/transparencies of density to classify sections. There's certainly a way to use GIS to help with this.
â danak
1 hour ago