mattjakob Posted November 25, 2016 Share Posted November 25, 2016 Hello, I am trying to do some edge detection using a kernel. I need to do this using standard SOPs/VOPs. http://setosa.io/ev/image-kernels/ I saw a tutorial from Entagma (https://vimeo.com/169437381) that basically does the operation by hand splitting out the vectors and multiplying them but it's quite tedious and you dont really know what vectors you're multiplying (QUESTION: is there an order in which pcfind returns the array of points eg. clockwise closest to furthest ?) Is there a better way (using actual matrices / knowing exactly which points) ? thanks! Quote Link to comment Share on other sites More sharing options...
moedeldiho Posted November 30, 2016 Share Posted November 30, 2016 Hey Matt, PCFind orders the points it returns by distance. As in that example we're searching through a grid with identical distances, I guess in the end it comes down to numerical errors (aka randomness) in which order the points will be returned. There are several ways to write a "proper" kernel, my approach would be VEX in a pointwrangle. However there is this quite stupid hack which allows you to abuse volume convolve in order to do kernel operations on a 2D plane... Cheers Mo Quick_Dirty_kernel_Hack.hipnc 2 Quote Link to comment Share on other sites More sharing options...
moedeldiho Posted November 30, 2016 Share Posted November 30, 2016 This would be a solution using VEX in a point wrangle... Cheers, Mo quick_kernel_04.hipnc 1 Quote Link to comment Share on other sites More sharing options...
konstantin magnus Posted July 28, 2021 Share Posted July 28, 2021 Here is another way using 2D volumes and volume convolve. image_convolve.hiplc Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.