[R-sig-Geo] image classification with GRASS
Nick Matzke
matzke at berkeley.edu
Sat Jan 1 04:58:06 CET 2011
After great struggles, this is what I got to work...thanks!
Nick
================
Open GRASS.app
(last step was huge manual compile *after* the app had been
created)
(need to update libpng)
# For some reason this works even though I UNINSTALLED wxpython
g.gui wxpython
GRASS commands
# Load via File --> Import Raster Map
# i.group group=lsat7_2002 subgroup=lsat7_2002 \
input=lsat7_2002_10,lsat7_2002_20,lsat7_2002_30,lsat7_2002_40,lsat7_2002_50,lsat7_2002_70
# make group and subgroup
i.group group=gp1 subgroup=gp1
input=betm.1,betm.2,betm.3,betm.4,betm.5,betm.6
# make unsupervised clustering
i.cluster group=gp1 subgroup=gp1 sigfile=unsup1 classes=2
# assign pixels to classes
i.maxlik group=gp1 subgroup=gp1 sigfile=unsup1
class=unsup1_class reject=unsup1_reject
# unsupervised classification puts pixels into class #1
(ocean) or #2 (land/cloud);
# we need to multiply by 100 to make it a big difference
Raster --> Map Calculator
new: unsup_x10
existing: edges3 at PERMANENT
edges3 at PERMANENT * 100
# identify edge pixels
i.zc --overwrite input=unsup_x10 output=edges3 width=3
threshold=1
# Set the #1 pixels (the edges) to a mask
r.mask -o input=edges3 maskcats=1
# drag up the RGB image, now it is limited to just the mask
# unsupervised clustering, 4 classes, of just (?) edge pixels
i.cluster group=gp1 subgroup=gp1 sigfile=edges_unsup1
classes=4 reportfile=edges_unsup1_report.txt
# assign pixels to classes
i.maxlik --overwrite group=gp1 subgroup=gp1
sigfile=edges_unsup1 class=edges_unsup1_class
reject=edges_unsup1_reject
================
On 12/30/10 9:08 PM, Nick Matzke wrote:
> Hi all,
>
> I've got R (with spgrass6) and GRASS installed on my Mac OS
> X machine.
>
> My goal is to load and classify a .img file that was clipped
> out of a Landsat 7 ETM image in ERDAS.
>
> However, GRASS seems to have a huge learning curve to even
> get started. Could I beg some GRASS wizard to post the very
> basic commands that one would typically use to:
>
> 1. load a .img file into GRASS
> 2. Display it
> 3. Conduct a classification of the pixels (any sort of
> classification would be fine, even a simple 2-class
> unsupervised classification).
>
> Thanks *very much* if you are able to help! Normally I'm
> pretty good at this sort of thing, but GRASS is
> extra-intimidating to newbies.
>
> Thanks, and cheers!
> Nick
>
>
>
--
====================================================
Nicholas J. Matzke
Ph.D. Candidate, Graduate Student Researcher
Huelsenbeck Lab
Center for Theoretical Evolutionary Genomics
4151 VLSB (Valley Life Sciences Building)
Department of Integrative Biology
University of California, Berkeley
Graduate Student Instructor, IB200A
Principles of Phylogenetics: Systematics
http://ib.berkeley.edu/courses/ib200a/index.shtml
Lab websites:
http://ib.berkeley.edu/people/lab_detail.php?lab=54
http://fisher.berkeley.edu/cteg/hlab.html
Dept. personal page:
http://ib.berkeley.edu/people/students/person_detail.php?person=370
Lab personal page:
http://fisher.berkeley.edu/cteg/members/matzke.html
Lab phone: 510-643-6299
Dept. fax: 510-643-6264
Cell phone: 510-301-0179
Email: matzke at berkeley.edu
Mailing address:
Department of Integrative Biology
3060 VLSB #3140
Berkeley, CA 94720-3140
-----------------------------------------------------
"[W]hen people thought the earth was flat, they were wrong.
When people thought the earth was spherical, they were
wrong. But if you think that thinking the earth is spherical
is just as wrong as thinking the earth is flat, then your
view is wronger than both of them put together."
Isaac Asimov (1989). "The Relativity of Wrong." The
Skeptical Inquirer, 14(1), 35-44. Fall 1989.
http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
More information about the R-sig-Geo
mailing list