質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

Q&A

解決済

1回答

602閲覧

トリミングした後の貼り付け場所を変えたい(matlab)

jirolian

総合スコア2

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

0グッド

0クリップ

投稿2021/05/30 05:47

前提・実現したいこと

画像のエッジ処理を、matlabを用いて行っています。

流れとしては、画像をグレースケール化した後、cannyフィルタを用いてエッジ処理を行います。
その後、hough変換で直線検出を行い、グレースケール画像に重ねて表示する、という感じです。

その際、検出したい直線が画像中心付近に集中しているため、トリミングを行ってからhough変換を行い,
元画像と同じ場所(中心付近)にhough変換の結果を貼り付けたいです。

試したコード

matlab

1clear all; 2close all; 3 4I = imread('a.bmp'); %画像ファイル読み込み 5I = rgb2gray(I); 6BW = edge(I,'canny'); 7 8%トリミングを行う 9rect = [200 200 500 200]; 10BW = imcrop(BW,rect); 11 12%hough変換 13[H,T,R] = hough(BW); 14imshow(H,[],'XData',T,'YData',R,... 15 'InitialMagnification','fit'); 16xlabel('\theta'), ylabel('\rho'); 17axis on, axis normal, hold on; 18 19% hough変換のピークの特定 20P = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:)))); 21x = T(P(:,2)); y = R(P(:,1)); 22plot(x,y,'s','color','white'); 23 24lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',7); 25figure(2), imshow(I), hold on 26max_len = 0; 27for k = 1:length(lines) 28 xy = [lines(k).point1; lines(k).point2]; 29 plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green'); 30 31end

発生している問題・エラーメッセージ

中心部分のhough変換には成功したのですが、元のグレースケール画像に貼り付ける際に、
元あった部分(中心部分)に貼り付けられませんでした。

グレースケールの左上(画像の原点)に貼り付けられてしまい、うまく行きません。

中心に貼り付ける方法を教えてください。
お願いします。

補足情報

車道のレーンをhough変換で検出する作業を行っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/05/30 09:07 編集

imcrop()で、200, 200のところから切り出した長方形内でhough変換してるのだから、hough変換の結果がたとえば1, 1だったら、それは切り出す前の画像では200, 200の位置に相当しますよね したがって、hough変換の結果の座標に199を足してplot()すればいいのではないですかね
jirolian

2021/05/30 14:05

plotのところで差分を足したら上手くいきました! ありがとうございます!
guest

回答1

0

ベストアンサー

imcrop()で200, 200のところから切り出した長方形内でhough変換してるのだから、hough変換の結果がたとえば1, 1だったら、それは切り出す前の画像では200, 200の位置に相当します

したがって、hough変換の結果の座標に199を足してplot()すればいいはずです

投稿2021/05/30 14:09

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jirolian

2021/05/30 14:17

ありがとうございました! 本当に助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問