Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
46
Task/Image-convolution/BBC-BASIC/image-convolution.basic
Normal file
46
Task/Image-convolution/BBC-BASIC/image-convolution.basic
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
Width% = 200
|
||||
Height% = 200
|
||||
|
||||
DIM out&(Width%-1, Height%-1, 2)
|
||||
|
||||
VDU 23,22,Width%;Height%;8,16,16,128
|
||||
*DISPLAY Lena
|
||||
OFF
|
||||
|
||||
DIM filter%(2, 2)
|
||||
filter%() = -1, -1, -1, -1, 12, -1, -1, -1, -1
|
||||
|
||||
REM Do the convolution:
|
||||
FOR Y% = 1 TO Height%-2
|
||||
FOR X% = 1 TO Width%-2
|
||||
R% = 0 : G% = 0 : B% = 0
|
||||
FOR I% = -1 TO 1
|
||||
FOR J% = -1 TO 1
|
||||
C% = TINT((X%+I%)*2, (Y%+J%)*2)
|
||||
F% = filter%(I%+1,J%+1)
|
||||
R% += F% * (C% AND &FF)
|
||||
G% += F% * (C% >> 8 AND &FF)
|
||||
B% += F% * (C% >> 16)
|
||||
NEXT
|
||||
NEXT
|
||||
IF R% < 0 R% = 0 ELSE IF R% > 1020 R% = 1020
|
||||
IF G% < 0 G% = 0 ELSE IF G% > 1020 G% = 1020
|
||||
IF B% < 0 B% = 0 ELSE IF B% > 1020 B% = 1020
|
||||
out&(X%, Y%, 0) = R% / 4 + 0.5
|
||||
out&(X%, Y%, 1) = G% / 4 + 0.5
|
||||
out&(X%, Y%, 2) = B% / 4 + 0.5
|
||||
NEXT
|
||||
NEXT Y%
|
||||
|
||||
REM Display:
|
||||
GCOL 1
|
||||
FOR Y% = 0 TO Height%-1
|
||||
FOR X% = 0 TO Width%-1
|
||||
COLOUR 1, out&(X%,Y%,0), out&(X%,Y%,1), out&(X%,Y%,2)
|
||||
LINE X%*2,Y%*2,X%*2,Y%*2
|
||||
NEXT
|
||||
NEXT Y%
|
||||
|
||||
REPEAT
|
||||
WAIT 1
|
||||
UNTIL FALSE
|
||||
Loading…
Add table
Add a link
Reference in a new issue