add ranged RGB noise
This commit is contained in:
parent
920a864b22
commit
72b58a8f0b
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
GFOPT = -Wall -Wextra -g -I.
|
GFOPT = -Wall -Wextra -g -I.
|
||||||
|
|
||||||
all: chkpixels t
|
all: chkpixels trnd t
|
||||||
|
|
||||||
# -----------------------------------------------
|
# -----------------------------------------------
|
||||||
|
|
||||||
|
@ -75,6 +75,32 @@ subroutine noise_rgb16_pic(prgb, nbre)
|
|||||||
prgb(ix, iy)%b = mod ( irand(), 65536 )
|
prgb(ix, iy)%b = mod ( irand(), 65536 )
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
end subroutine
|
||||||
|
!-----------------------------------------------------------------------
|
||||||
|
! new: Sat Jun 10 06:50:51 UTC 2023
|
||||||
|
|
||||||
|
subroutine noise_range_rgb16_pic(prgb, rngs, nbre)
|
||||||
|
implicit none
|
||||||
|
|
||||||
|
type(t_pixrgb), dimension(:,:), intent(inout) :: prgb
|
||||||
|
integer, intent(in) :: rngs(6)
|
||||||
|
integer, intent(in) :: nbre
|
||||||
|
integer :: quux, ix, iy, width, height
|
||||||
|
|
||||||
|
print *, 'noise rgb16 range', nbre
|
||||||
|
print *, 'ranges:'
|
||||||
|
print *, rngs
|
||||||
|
|
||||||
|
width = ubound(prgb, 1) ; height = ubound(prgb, 2)
|
||||||
|
|
||||||
|
do quux=1, nbre
|
||||||
|
ix = 1 + mod ( irand(), width )
|
||||||
|
iy = 1 + mod ( irand(), height )
|
||||||
|
prgb(ix, iy)%r = mod ( irand(), 65536 )
|
||||||
|
prgb(ix, iy)%g = mod ( irand(), 65536 )
|
||||||
|
prgb(ix, iy)%b = mod ( irand(), 65536 )
|
||||||
|
enddo
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
!-----------------------------------------------------------------------
|
!-----------------------------------------------------------------------
|
||||||
end module noisepictures
|
end module noisepictures
|
@ -6,12 +6,13 @@ program essai
|
|||||||
use noisepictures
|
use noisepictures
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
integer :: foo, bar
|
! integer :: foo, bar
|
||||||
|
|
||||||
write(0, *) "----------------- essai -------------------"
|
write(0, *) "----------------- essai -------------------"
|
||||||
|
|
||||||
call init_random_seed() ! in module 'mathstuff'
|
call init_random_seed() ! in module 'mathstuff'
|
||||||
call test_noisepictures_rgb()
|
call test_noisepictures_rgb()
|
||||||
|
call test_noisepictures_rgb_range()
|
||||||
call test_noisepictures_gray()
|
call test_noisepictures_gray()
|
||||||
|
|
||||||
contains
|
contains
|
||||||
@ -37,6 +38,32 @@ subroutine test_noisepictures_rgb ()
|
|||||||
|
|
||||||
deallocate (pix)
|
deallocate (pix)
|
||||||
|
|
||||||
|
end subroutine
|
||||||
|
!-----------------------------------------------------------------------
|
||||||
|
! new: Sat Jun 10 06:50:51 UTC 2023
|
||||||
|
|
||||||
|
subroutine test_noisepictures_rgb_range ()
|
||||||
|
implicit none
|
||||||
|
|
||||||
|
type(t_pixrgb), allocatable :: pix (:,:)
|
||||||
|
integer :: nombre
|
||||||
|
integer :: ranges(6)
|
||||||
|
|
||||||
|
print *, '------ test des noisepictures RGB range'
|
||||||
|
|
||||||
|
allocate(pix(800, 600))
|
||||||
|
nombre = (800*600)/4
|
||||||
|
|
||||||
|
call rgbpix_set_to_rgb(pix, 0, 0, 0)
|
||||||
|
ranges(1) = 0 ; ranges(2) = 21000
|
||||||
|
ranges(3) = 22000 ; ranges(4) = 43000
|
||||||
|
ranges(5) = 44400 ; ranges(6) = 63000
|
||||||
|
|
||||||
|
call noise_range_rgb16_pic(pix, ranges, nombre)
|
||||||
|
call rgbpix_spit_as_pnm_16(pix, 'rngs16.pnm')
|
||||||
|
|
||||||
|
deallocate (pix)
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
!-----------------------------------------------------------------------
|
!-----------------------------------------------------------------------
|
||||||
subroutine test_noisepictures_gray ()
|
subroutine test_noisepictures_gray ()
|
||||||
|
Loading…
Reference in New Issue
Block a user