applying 1x2 operator to my image: cannot find anything or any syntax

i am able to apply sobel and prewitt operator to my grayscale image. but when i put in matlab
help edge
then it displayed syntax and format for sobel, prewitt, roberts, laplacian, zero cross and canny. but i could not find any syntax for 1x2 operator. is 1x2 operator a part of any of these above operators? please let me know syntax for 1x2 operator

4 Comments

How interesting. Even WikiPedia could not show me the 1x2 operator. Does it have another name also?
thats the thing. i cannot find it anywhere, i am not sure whether it has another name but i know that 1x2 and 1x3 operators are very much in use. i have seen the resultant images after applying these operators as well but i cannot find any syntax or code anywhere.
You cannot find the 1x2 operator anywhere, but you ask for it. I see an epistemological problem here. It is like asking for the BlöderNasenMann operator. (Kind regards to Thorsten, who has invented it as counterpart to the dull named Quabla operator some years ago without defining the mathematical details.)
I've (this means: my favorite internet search engine) found the link at stackoverflow also, but in opposite to Walter, I did not recognize that this solves your problem already. @Walter: Kotow.
So if you want it, and know of the "features" or drawbacks of it, then go ahead and use it:
filteredImage = conv2(double(grayImage), [-1 1], 'same');

Sign in to comment.

More Answers (1)

There is no 1x2 kernel for Prewitt and Sobel filters. That's not how they're defined. There is a Roberts filter like that though.
edge() applies the filters and then thresholds and thins the result to give skeletonized lines along the edges. I wish there were an option to return the original edge filtered image, but unfortunately there is not. So if you want the true Sobel filter you will have to program it yourself with imfilter() or conv2(), or if you have R2012b you can use imgradient() or imgradientxy().

4 Comments

Roberts is "1 by 2" but along diagonals, not along rows and columns.
so in this case, if i wish to apply 1x2 operator to my image there is no particular syntax. i have to program it with imfilter() or conv2()?
Yes, there is "particular syntax" and like I said in my comment, it is this:
filteredImage = conv2(double(grayImage), [-1 1], 'same');

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!