Find below a gizmo I've built with some matrix that I've found over the years.
A good start for learning more about it.
Luc
Group {
name Matrix_selector
label "\[value matrix]"
selected true
xpos 16708
ypos 22754
addUserKnob {20 User l Matrix}
addUserKnob {4 matrix M {"Horizontal Edges" "Vertical Edges" "Left Diagonal
Edges" "Right Diagonal Edges" "Right Diagonal Edges" North West East South
Northeast "Basic Smooth" "Basic Smooth 5x5" High-Pass "High-Pass 5x5" Laplacian
"Laplacian 5x5"}}
}
Input {
inputs 0
name Input1
xpos 400
ypos -179
}
set N148564d0 [stack 0]
Matrix {
matrix {
{1 1 1 1 1}
{1 1 1 1 1}
{1 1 24 1 1}
{1 1 1 1 1}
{1 1 1 1 1}
}
normalize true
name Matrix16
label "Laplacian 5x5"
xpos 1280
ypos 71
}
push $N148564d0
Matrix {
matrix {
{0 -1 0}
{-1 4 -1}
{0 -1 0}
}
name Matrix15
label Laplacian
xpos 1170
ypos 71
}
push $N148564d0
Matrix {
matrix {
{0 -1 -1 -1 0}
{-1 2 -4 2 -1}
{-1 -4 13 -4 -1}
{-1 2 -4 2 -1}
{0 -1 -1 -1 0}
}
name Matrix14
label "High-Pass 5x5"
xpos 1060
ypos 71
}
push $N148564d0
Matrix {
matrix {
{-1 -1 -1}
{-1 9 -1}
{-1 -1 -1}
}
name Matrix13
label High-Pass
xpos 950
ypos 71
}
push $N148564d0
Matrix {
matrix {
{1 1 1 1 1}
{1 4 4 4 1}
{1 4 12 4 1}
{1 4 4 4 1}
{1 1 1 1 1}
}
name Matrix12
label "Basic Smooth 5x5"
xpos 840
ypos 71
}
push $N148564d0
Matrix {
matrix {
{1 2 1}
{2 4 2}
{1 2 1}
}
normalize true
name Matrix11
label "Basic Smooth"
xpos 730
ypos 71
}
push $N148564d0
Matrix {
matrix {
{0 -1 -2}
{1 0 -1}
{2 1 0}
}
name Matrix10
label Northeast
xpos 620
ypos 71
}
push $N148564d0
Matrix {
matrix {
{1 2 1}
{0 0 0}
{-1 -2 -1}
}
name Matrix9
label South
xpos 510
ypos 71
}
push $N148564d0
Matrix {
matrix {
{1 0 -1}
{2 0 -2}
{1 0 -1}
}
name Matrix20
label East
xpos 400
ypos 71
}
push $N148564d0
Matrix {
matrix {
{-1 0 1}
{-2 0 2}
{-1 0 1}
}
name Matrix7
label West
xpos 290
ypos 71
}
push $N148564d0
Matrix {
matrix {
{-1 -2 -1}
{0 0 0}
{1 2 1}
}
name Matrix6
label North
xpos 180
ypos 71
}
push $N148564d0
Matrix {
matrix {
{-1 -1 2}
{-1 2 -1}
{2 -1 -1}
}
name Matrix5
label "Right Diagonal Edges"
xpos 70
ypos 71
}
push $N148564d0
Matrix {
matrix {
{-1 -1 2}
{-1 2 -1}
{2 -1 -1}
}
name Matrix8
label "Right Diagonal Edges"
xpos -40
ypos 71
}
push $N148564d0
Matrix {
matrix {
{2 -1 -1}
{-1 2 -1}
{-1 -1 2}
}
name Matrix17
label "Left Diagonal Edges"
xpos -150
ypos 71
}
push $N148564d0
Matrix {
matrix {
{-1 2 -1}
{-1 2 -1}
{-1 2 -1}
}
name Matrix18
label "Vertical Edges"
xpos -260
ypos 71
}
Dot {
name Dot1
xpos -232
ypos 156
}
push $N148564d0
Matrix {
matrix {
{-1 -1 -1}
{2 2 2}
{-1 -1 -1}
}
name Matrix19
label "Horizontal Edges"
xpos -370
ypos 71
}
Dot {
name Dot2
xpos -342
ypos 180
}
Switch {
inputs 16
which {{matrix}}
name Switch1
xpos 400
ypos 277
}
Output {
name Output1
xpos 400
ypos 349
}
Viewer {
frame 1
input_process false
name Viewer1
xpos 400
ypos 469
}
end_group
From: [email protected]
Subject: Re: [Nuke-users] Select horizontal and vertical lines
Date: Fri, 22 Apr 2011 09:14:50 -0700
To: [email protected]
Someone who understands the voodoo of the Matrix node! Awesome!
I don't suppose you know how to do an edge detect at an arbitrary angle,
instead of either horizontally or vertically?
On Apr 22, 2011, at 7:58 AM, Hugh Macdonald wrote:You can create your own
vertical/horizontal edge detect by using the Matrix node to create a basic
Sobel filter.
Create a Matrix node, and set it to be 3x3.
For a vertical edge detect, enter the following values:
[ -1 0 1 ][ -2 0 2 ][ -1 0 1 ]
For a horizontal edge detect, enter these values:
[ -1 -2 -1 ][ 0 0 0 ][ 1 2 1 ]
Then follow this with an Merge node set to Difference. Make sure the B input is
plugged into the Matrix node, and leave the A input disconnected. This will
make the negative values that came out of the Matrix node positive.
Hugh Macdonaldnvizible – VISUAL EFFECTS
[email protected]
+44(0) 207 659 2038
+44(0) 7773 764 708
www.nvizible.com
On 21 Apr 2011, at 14:12, Renato Carone wrote:Hi,
If you use a Erode node after your Edge Detect, you can select vertical or
horizontal lines.
Cheers,Renato carone
On 21/04/2011, at 06:44, Spider <[email protected]> wrote:
Hi everyone,
I'd like to kow if there is a way to select only vertical and/or horizontal
lines after an edge detect node, cause i'd like to apply a node only for these
selection.Any hint ?
Thanks for your help.
Spider
--
Luddnel Spider Magne | Director - Lead Motion Compositor
555Lab – Alchemy between you and us
24 rue du Pré St-Gervais 93500 Pantin
Office (+33)148 453 555 | Fax (+33)171 864 387
Mobile (+33)699 434 555 | 555lab.com
_______________________________________________
Nuke-users mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
_______________________________________________
Nuke-users mailing list
[email protected]
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users