画像を円の画像で読み込み、その画像の勾配ベクトルフィールド(すなわち、均一に、円の法線を指すベクトル)を計算したいと考えています。私のロジックは私に少しの失敗ですが、私は持っている:画像の勾配ベクトルフィールドを計算する
clear all;
im = im2double(imread('littlecircle.png'));
im = double(im);
[nr,nc]=size(im);
[dx,dy] = gradient(im);
[x y] = meshgrid(1:nc,1:nr);
u = x;
v = y;
quiver(x,y,u,v)
私は単純に上記の操作を行うとしたら、私はベクトル場を得るが、それは単純にベクトル場の空のメッシュ(すなわちの勾配であります勾配y = xの)を計算する。私が実際にしたいと、画像の円のエッジを検出して、画像の円による勾配ベクトル場を計算するために
[dx,dy] = gradient(im);
を使用することです。明らかに、u = xとv = yを代入すると、私には直線のベクトル場しか与えられないので、基本的に、ベクトルのuとvに画像のグラデーションを埋め込みたいのです。
である
あなたがlittlecircle.pngを投稿することができますか? –