How to define the boundary of a countour
이전 댓글 표시
I am using this line of code to plot my contour of sea surface temperature, it is a rectangular box. [C1, h1] = contourf (X, Y, Z, [0:1:35], 'LineStyle', 'none' );
How do I trim off the areas that extends to the land with a polygon?
I tried to use "patch", but it does not work well, when the plot from the Atlantic Ocean is put together with the plots from other ocean basins.
Is there a way I can set X, Y, Z values (gridded data) to be NaN for the grids that are outside the polygon?

Thank you.
댓글 수: 4
Image Analyst
2014년 12월 23일
편집: Image Analyst
2014년 12월 23일
Does this require the Mapping Toolbox? If so, list it below in the "Products" section.
Image Analyst
2014년 12월 23일
편집: Image Analyst
2014년 12월 23일
Is your data an RGB image? Or is it in some other form? And explain "areas that extends to the land" - how do we know which pixels are land or not land? Do you have a binary image that defines land/not-land pixels?
채택된 답변
추가 답변 (1개)
Image Analyst
2014년 12월 23일
Do you have the Image Processing Toolbox? If so, you can use poly2mask() to create a mask of land/not-land. Then you can mask the image.
% Mask the image using bsxfun() function
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, class(rgbImage)));
댓글 수: 2
Leon
2014년 12월 23일
Image Analyst
2014년 12월 23일
Then you can create a binary mask with a double for loop. You can still use bsxfun() to do the masking though - that does not require the toolbox.
카테고리
도움말 센터 및 File Exchange에서 Oceanography and Hydrology에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

