matlab 三维高程根据图片颜色给对应点赋予颜色
生活随笔
收集整理的這篇文章主要介紹了
matlab 三维高程根据图片颜色给对应点赋予颜色
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用到mesh函數就可以了,mesh(_,C);其中C表示顏色矩陣
代碼如下:
clear; close all; clc; %% 導入光學圖片picture_data = imread('test.jpg'); picture_data = rgb2gray(picture_data); picture_data = double(picture_data); figure('name','顏色圖像'); image(picture_data) colormap(gray(256)); colorbar %% 畫山峰,賦予高程信息,可以看做實際的位置坐標 [x,y]=meshgrid(-4.99:0.01:5,-2.99:0.01:3); z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2); z = 100 * abs(z); x = 100*(x+5); y = 100*(y+3); %% 畫圖 figure('name','高程圖') mesh(x, y,z); colormap(gray(256)); colorbar figure('name','帶有顏色的高程圖') mesh(x, y,z, picture_data);%需要注意的是,顏色矩陣必須和z矩陣一樣大。 colormap(gray(256)); colorbar結果如下:
顏色圖(灰度圖)
?三維圖(不帶顏色的)
?
三維圖(帶有顏色渲染的)
?最后給一張我的顏色圖,是我隨意找的,截取的,像素轉化為600*1000的矩陣
?最后需要說明的是:彩圖也可以直接渲染,只不過效果不好,就沒有展示。可以直接將rgb2gray()那一行代碼注釋掉就能實現。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?給學matlab的人,包括我自己一個勉勵:路漫漫其修遠兮,吾將上下而求索
總結
以上是生活随笔為你收集整理的matlab 三维高程根据图片颜色给对应点赋予颜色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东自营店铺开通客服详解
- 下一篇: matlab 计算N天前(后)的日期