turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- Using Hough Transform

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 30, 2017 8:13 AM
(880 views)

Hi,

I want to use the Hough tranform function in a program I am writing to detect edges, however I am a little confused by what values the input matrix should contain. I tried using the scripting index but it wasn't particularly helpful. Is the matrix the matrix of rgb values, hsl values, or a column vector of intensity values? Thanks!

Noah

4 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 30, 2017 1:53 PM
(867 views)

Hi, Noah.

The JSL Syntax Reference has a little more information on this function than the Scripting Index. There is says that "it takes a matrix of intensities and transforms it in a way that is useful for finding streaks in the matrix."

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 31, 2017 4:00 AM
(857 views)

Not answering your question, but I did find this explanation of the transform

Craige

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

May 31, 2017 7:05 AM
(845 views)

Here's what I've learned:

the input matrix is an approximately square matrix of non-negative values that are accumulated into the output using the transform. I believe the transform is actually the sin/cos variation described at the end of the video. There are two parameters you can use in the function call:

HoughLineTransform( M, NAngle(180), NRadius( r) )

specified by name, after the matrix. 180 is the default number of angles and is the number of columns in the output matrix. "r" defaults to sqrt(nr^2+nc^2), roughly the diagonal "pixels" of the matrix, and is the number of rows in the output matrix.

I'd also suggest looking at the canny filter in the scripting index; it has a very cool example (2nd example under filter).

Craige

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Jun 1, 2017 2:23 PM
(788 views)