我已经将TIFF图像中的纬度,经度和高度信息获取到Matlab中,并使用surfc
函数作为surfc(X,Y,Z)
绘制它。
surfc
输出:
树的形象:
但是如何让Z显示为与图像中对象的高度相对应的轮廓(像锥形)?
感谢您的回答
答案 0 :(得分:0)
如果您使用plot3
plot3(X,Y,Z,'.');
如果X和Y是自变量而Z是从属变量(给定X和Y的相应高度),那么使用surf
或mesh
surf(X,Y,Z);
mesh(X,Y,Z);
否则请提供一些数据样本和结果,以便我们更好地了解您的问题。
编辑:您实际上是在获取等高线图,但surfc
也应该绘制曲面。
看一下surfc
的{{3}},你会看到它在一个图中组合了两个图(表面和轮廓)
[X,Y,Z] = peaks(30);
figure
surfc(X,Y,Z)
答案 1 :(得分:0)
您可以更改冲浪的颜色映射。示例:
$(function() { //this is a shortcut for "run this code when document is ready"
$("#search").autocomplete({
source: function (request, response) {
var search = $("#search").val().trim();
var resultsToReturn = 5;
var module;
if ($('#ddlEntity').val() === "") {
module = 0;
} else {
module = $('#<%= ddlEntity.ClientID %> option:selected').val();
}
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/Code/WebServices/Search.asmx/DoSearch",
dataType: "json",
data: '{"searchQuery":"' + search + '","module":"' + module + '","resultsToReturn":"' + resultsToReturn + '"}',
success: function (data) {
response($.map(data.d, function (item) {
return {
entity: item.EntityType,
value: item.Summary,
url: item.EntityLink,
picture: item.PicturePath == null ? "/Images/noimagefound.png" : item.PicturePath
}
}));
}
});
},
minLength: 3,
delat: 550,
select: function (event, ui) {
//log the search back to the database
LogSearch(module, search, true);
//end log search back to database
//open the selected item
window.open(ui.item.url, "_self");
},
open: function () {
},
close: function () {
},
error: function (xmlHttpRequest, textStatus) {
alert(textStatus);
},
search: function () {
$(this).addClass('autocompleteloading');
},
response: function () {
$(this).removeClass('autocompleteloading');
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
ul.addClass("addShadow");
var face;
if (item != null) {
if (item.value.length > 50) {
face = item.value.substr(0, 50) + '...';
} else {
face = item.value;
}
return $("<li>")
.append("<a title='" + item.value + "' href='" + item.url + "'><div style='float:left;width:100%;'><div class='dPicture'><img width='48px' height='48px' src='" + item.picture + "' /></div><div class='dPicture'><div class='dPictureFields'><b>" + item.entity + "</b></div><div class='dPictureFields'>" + face + "</div></div></div><div class='clear-fix'></div></a></li>")
.appendTo(ul);
}
return false;
};
});
如果您的Matlab版本中没有clear;clc;close all
tif4 = imread('RzwK3.tif');
THeight = rgb2gray(tif4(:,:,1:3));
imshow(THeight)
x = 1:size(THeight,1); % can be changed to coordinates
y = 1:size(THeight,2);
[X,Y] = ndgrid(x,y);
% make contour color on the surface
M = 4; % # color in contour
Cvec = parula(M); % any Mx3 RGB triplet
hs = surf(X,Y,THeight,'EdgeAlpha',.1);
colormap(Cvec)
colorbar
或其他颜色生成功能,您可以手动分配parula
。矩阵的每一行都是RGB颜色三元组,其值介于0和1之间(您可以将Web RGB颜色除以256)并且矩阵中应该有Cvec
行。示例:以下是M
的输出,可以通过替换代码行手动输入。
parula(4)