diff options
Diffstat (limited to 'test/lua')
| -rw-r--r-- | test/lua/analyze.lua | 28 | ||||
| -rw-r--r-- | test/lua/capture.lua | 63 | ||||
| -rw-r--r-- | test/lua/combine9.lua | 107 | ||||
| -rw-r--r-- | test/lua/combine9view.lua | 125 | ||||
| -rw-r--r-- | test/lua/error.lua | 10 | ||||
| -rw-r--r-- | test/lua/fft.lua | 17 | ||||
| -rw-r--r-- | test/lua/flower.jpg | bin | 17915 -> 0 bytes | |||
| -rw-r--r-- | test/lua/index.lua | 18 | ||||
| -rw-r--r-- | test/lua/info.lua | 149 | ||||
| -rw-r--r-- | test/lua/lena.jpg | bin | 7145 -> 0 bytes | |||
| -rw-r--r-- | test/lua/multicrop.lua | 61 | ||||
| -rw-r--r-- | test/lua/multimorpho.lua | 103 | ||||
| -rw-r--r-- | test/lua/palette.lua | 6 | ||||
| -rw-r--r-- | test/lua/process.lua | 50 | ||||
| -rw-r--r-- | test/lua/process_new.lua | 44 | ||||
| -rw-r--r-- | test/lua/render.lua | 50 | ||||
| -rw-r--r-- | test/lua/render_cd.lua | 19 | ||||
| -rw-r--r-- | test/lua/screencapture.lua | 13 | ||||
| -rw-r--r-- | test/lua/show_flower.wlua | 31 | ||||
| -rw-r--r-- | test/lua/view.wlua | 183 | ||||
| -rw-r--r-- | test/lua/viewGL.wlua | 76 | ||||
| -rw-r--r-- | test/lua/view_image.lua | 76 | 
22 files changed, 0 insertions, 1229 deletions
| diff --git a/test/lua/analyze.lua b/test/lua/analyze.lua deleted file mode 100644 index 7f06496..0000000 --- a/test/lua/analyze.lua +++ /dev/null @@ -1,28 +0,0 @@ -require"imlua" -require"imlua_process" - -local filename = "lena.jpg" - -local image = im.FileImageLoad(filename) -local gray = im.ImageCreate(image:Width(), image:Height(), im.GRAY, image:DataType()) -local binary = im.ImageCreate(image:Width(), image:Height(), im.BINARY, image:DataType()) -local region = im.ImageCreate(image:Width(), image:Height(), im.GRAY, im.USHORT) - --- make it grayscale -im.ConvertColorSpace(image, gray) -gray:Save("lena_gray.jpg", "JPEG") - --- make it binary -im.ProcessSliceThreshold(gray, binary, 0, 128) -binary:Save("lena_binary.jpg", "JPEG") - -local count = im.AnalyzeFindRegions(binary, region, 4, 1) -print("regions: ", count) - -local region2 = im.ImageCreate(image:Width(), image:Height(), im.GRAY, im.BYTE) -im.ConvertDataType(region, region2, 0, 0, 0, 0) - -local region3 = im.ImageCreate(image:Width(), image:Height(), im.MAP, im.BYTE) -im.ConvertColorSpace(region2, region3) -region3:SetPalette(im.PaletteHighContrast(), 256) -region3:Save("lena_region.gif", "GIF") diff --git a/test/lua/capture.lua b/test/lua/capture.lua deleted file mode 100644 index 491518a..0000000 --- a/test/lua/capture.lua +++ /dev/null @@ -1,63 +0,0 @@ -require"imlua" -require"imlua_capture" - -im.VideoCaptureReloadDevices() - -print("--- Devices ---") -local n = im.VideoCaptureDeviceCount() - -for i = 0, n - 1 do -	desc = im.VideoCaptureDeviceDesc(i) -	print(desc) -end - -local vc = im.VideoCaptureCreate() -print("connect: ", vc:Connect(0)) -print() - -print("--- Dialogs ---") - -local dc = vc:DialogCount() -for i = 0, dc - 1 do -	desc = vc:DialogDesc(i) -	print(i, desc) -	vc:ShowDialog(i) -end -print() - - -print("--- Formats ---") - -local fc = vc:FormatCount() -for i = 0, fc - 1 do -	local success, width, height, desc = vc:GetFormat(i) -	print(i, string.format("%dx%d", width, height), desc) -end -print() - -print("--- Image Size ---") -local width, height = vc:GetImageSize() -print(width, height) -print() - -print("--- Attributes ---") -attribs = vc:GetAttributeList() -for i, name in ipairs(attribs) do -	 local error, percent = vc:GetAttribute(name) -	 if error == 0 then percent = "get error" end -	 print(i, name, percent) -end ---vc:SetAttribute("FlipVertical", 1) ---vc:SetAttribute("FlipHorizontal", 1) -print() - -print("--- Capture ---") -local image = im.ImageCreate(width, height, im.RGB, im.BYTE) -local res = vc:Live(1) -if (res > 0) then -	print("grabbing frame") -	print(vc:Frame(image, 3000)) -end -image:Save("capture.jpg", "JPEG") - -vc:Disconnect() diff --git a/test/lua/combine9.lua b/test/lua/combine9.lua deleted file mode 100644 index 0bc1b17..0000000 --- a/test/lua/combine9.lua +++ /dev/null @@ -1,107 +0,0 @@ ---A script to compose 9 photos, with 4/6 aspect ratio - -require"imlua" -require"imlua_process" -require"iuplua" - -function Confirm(title,msg) -  if continue then -    b=iup.Alarm(title, msg ,"Continue" ,"Exit") -    if b==2 then continue=false print("Script Aborted!") end -  end -end - -function Create_Host_Image() -  if continue then -    local screenx=1024*3 screeny=684*3 -    dst_photo = im.ImageCreate(screenx, screeny, im.RGB, im.BYTE) -    resize_photo = im.ImageCreate(1024, 684, im.RGB, im.BYTE) -- for resize -  end -end - -function Create_Host_Name(name) -  if continue then -    i=0 -    repeat -      i=i+1 -      num=1000+i -      numstr=string.sub(tostring(num),-3) ---      path="D:/Composite/" -      path="D:/Downloads/Test/" -      ext=".jpg" -      Result=path..name..numstr..ext -      res,msg=io.open(Result) -      io.close() -    until not res -  end -end - -function Get_Source_Photo() -  if continue then ---    path="D:/MyPictures/" -    path="D:/Downloads/Test/*.jpg" -    Source, err = iup.GetFile(path) -    print("Source: ", Source) -    if err<0 then continue=false end -  end -end - -function Insert_Photo(num) -  if continue then -    title="Photo "..num.." of 9" msg=Source Confirm(title,msg) -    wd=dst_photo:Width() -    hd=dst_photo:Height() -    --print("Dst Size:",wd,hd) -    src_photo=im.FileImageLoadBitmap(Source) -    valuex=src_photo:Width() -    valuey=src_photo:Height() -    --print("Source Size:",valuex,valuey) -    panex={0,1024,2048,0,1024,2048,0,1024,2048} -    paney={0,0,0,684,684,684,1368,1368,1368} -    Xd=panex[num]  -    Yd=paney[num] -    Wd=1024 Hd=684 -    -- extract a proportional rectangle from the source image -    if 1.5*valuey>valuex then -        Ws=valuex  -        Xs=0 -        Hs=math.floor(valuex/1.5)  -        Ys=math.floor((valuey-Hs)/2) -      else -        Hs=valuey  -        Ys=0 -        Ws=math.floor(1.5*Hs)  -        Xs=math.floor((valuex-Ws)/2) -       end -        -    --print("Crop Size:",Ws, Hs) -    --print("Crop Shift:",Xs,Ys) -    crop_photo = im.ImageCreate(Ws, Hs, im.RGB, im.BYTE)    -    im.ProcessCrop(src_photo, crop_photo, Xs,Ys) -    im.ProcessResize(crop_photo, resize_photo, 1) -- do bilinear interpolation -    im.ProcessInsert(dst_photo, resize_photo, dst_photo, Xd, Yd) -- insert resize in dst and place the result in dst -    crop_photo:Destroy() -     -    if num==9 then src_photo:CopyAttributes(dst_photo) end -  end -end - -function Save_Composite_Photo() -  if continue then -    name="Composite" -    Create_Host_Name(name) -    dst_photo:Save(Result, "JPEG") -    os.execute(Result) -  end -end - ---Script Starts -continue=true -title="9 Panel Composite" msg="Photos can be anysize." Confirm(title,msg) -Create_Host_Image() -for i=1,9 do -  num=i -  Get_Source_Photo() -  Insert_Photo(num) -  end -Save_Composite_Photo() diff --git a/test/lua/combine9view.lua b/test/lua/combine9view.lua deleted file mode 100644 index d606355..0000000 --- a/test/lua/combine9view.lua +++ /dev/null @@ -1,125 +0,0 @@ ---A script to compose 9 photos, with 4/6 aspect ratio - -require"imlua" -require"imlua_process" -require"iuplua" -require"view_image" - -err_msg = { -  "No error.", -  "Error while opening the file.", -  "Error while accessing the file.", -  "Invalid or unrecognized file format.", -  "Invalid or unsupported data.", -  "Invalid or unsupported compression.", -  "Insufficient memory", -  "Interrupted by the counter", -} - -function Confirm(title,msg) -  if continue then -    b=iup.Alarm(title, msg ,"Continue" ,"Exit") -    if b==2 then continue=false print("Script Aborted!") end -  end -end - -function Create_Host_Image() -  if continue then -    local screenx=1024*3 screeny=684*3 -    dst_photo = im.ImageCreate(screenx, screeny, im.RGB, im.BYTE) -    resize_photo = im.ImageCreate(1024, 684, im.RGB, im.BYTE) -- for resize -  end -end - -function Create_Host_Name(name) -  if continue then -    i=0 -    repeat -      i=i+1 -      num=1000+i -      numstr=string.sub(tostring(num),-3) ---      path="D:/Composite/" ---      path="D:/Downloads/Test/" -      path = "./" -      ext=".jpg" -      Result=path..name..numstr..ext -      res,msg=io.open(Result) -      io.close() -    until not res -  end -end - -function Get_Source_Photo() -  if continue then ---    path="D:/MyPictures/" -    path="test/*.jpg" -    Source, err = iup.GetFile(path) -    print("Source: ", Source) -    if err<0 then continue=false end -  end -end - -function Insert_Photo(num) -  if continue then -    title="Photo "..num.." of 9" --msg=Source Confirm(title,msg) -    wd=dst_photo:Width() -    hd=dst_photo:Height() -    --print("Dst Size:",wd,hd) -    src_photo, err=im.FileImageLoadBitmap(Source) -    if (err and err ~= im.ERR_NONE) then -      error(err_msg[err+1]) -    end -    if (not View_Image(src_photo, title)) then continue = false return end -    valuex=src_photo:Width() -    valuey=src_photo:Height() -    --print("Source Size:",valuex,valuey) -    panex={0,1024,2048,0,1024,2048,0,1024,2048} -    paney={0,0,0,684,684,684,1368,1368,1368} -    Xd=panex[num]  -    Yd=paney[num] -    Wd=1024 Hd=684 -    -- extract a proportional rectangle from the source image -    if 1.5*valuey>valuex then -        Ws=valuex  -        Xs=0 -        Hs=math.floor(valuex/1.5)  -        Ys=math.floor((valuey-Hs)/2) -      else -        Hs=valuey  -        Ys=0 -        Ws=math.floor(1.5*Hs)  -        Xs=math.floor((valuex-Ws)/2) -       end -        -    --print("Crop Size:",Ws, Hs) -    --print("Crop Shift:",Xs,Ys) -    crop_photo = im.ImageCreate(Ws, Hs, im.RGB, im.BYTE)    -    im.ProcessCrop(src_photo, crop_photo, Xs,Ys) -    im.ProcessResize(crop_photo, resize_photo, 1) -- do bilinear interpolation -    im.ProcessInsert(dst_photo, resize_photo, dst_photo, Xd, Yd) -- insert resize in dst and place the result in dst -    crop_photo:Destroy() -     -    if num==9 then src_photo:CopyAttributes(dst_photo) end -  end -end - -function Save_Composite_Photo() -  if continue then -    name="Composite" -    Create_Host_Name(name) -    if (not View_Image(dst_photo, "Composite")) then continue = false return end -    dst_photo:Save(Result, "JPEG") -    --os.execute(Result) -  end -end - ---Script Starts -continue=true -title="9 Panel Composite" msg="Photos can be anysize." Confirm(title,msg) -Create_Host_Image() -for i=1,9 do -  num=i -  Get_Source_Photo() -  Insert_Photo(num) -  end -Save_Composite_Photo() diff --git a/test/lua/error.lua b/test/lua/error.lua deleted file mode 100644 index f8c71a8..0000000 --- a/test/lua/error.lua +++ /dev/null @@ -1,10 +0,0 @@ -require"imlua" - -local filename = "lena.jpg" -local image = im.FileImageLoad(filename) -local image2 = im.ImageCreate(image:Width(), image:Height(), im.GRAY, im.USHORT) - --- Both calls will signal an error because of incompatible parameters - ---im.ConvertDataType(image, image2, im.CPX_REAL, im.GAMMA_LINEAR, 0, im.CAST_MINMAX) -im.ConvertColorSpace(image, image2, im.CPX_REAL, im.GAMMA_LINEAR, 0, im.CAST_MINMAX) diff --git a/test/lua/fft.lua b/test/lua/fft.lua deleted file mode 100644 index 3589635..0000000 --- a/test/lua/fft.lua +++ /dev/null @@ -1,17 +0,0 @@ -require"imlua" -require"imlua_process" -require"imlua_fftw" - -local filename = "lena.jpg" -local image = im.FileImageLoad(filename) - -local complex = im.ImageCreate(image:Width(), image:Height(), image:ColorSpace(), im.CFLOAT) -im.ProcessFFT(image, complex) - -local c = complex[0][5][10] --  component=0(Red), y = 5 x =10 -print(c[1], c[2]) - -complex[0][5][10] = { 2*c[1], c[2]/2 } - -local c = complex[0][5][10] -print(c[1], c[2]) diff --git a/test/lua/flower.jpg b/test/lua/flower.jpgBinary files differ deleted file mode 100644 index 2b9dbf1..0000000 --- a/test/lua/flower.jpg +++ /dev/null diff --git a/test/lua/index.lua b/test/lua/index.lua deleted file mode 100644 index 1c4c1e4..0000000 --- a/test/lua/index.lua +++ /dev/null @@ -1,18 +0,0 @@ -require"imlua" - -local filename = "lena.jpg" -local image = im.FileImageLoad(filename) - -local r = image[0] -local g = image[1] -local b = image[2] - -for row = 0, image:Height() - 1, 10 do -	for column = 0, image:Width() - 1, 10 do -		r[row][column] = 0 -		g[row][column] = 0 -		b[row][column] = 0 -	end -end - -image:Save("lena_indexing.bmp", "BMP") diff --git a/test/lua/info.lua b/test/lua/info.lua deleted file mode 100644 index b1afb2a..0000000 --- a/test/lua/info.lua +++ /dev/null @@ -1,149 +0,0 @@ -require"imlua" -require"lfs" - -function PrintError(error) -	local msg = {} -	msg[im.ERR_OPEN] = "Error Opening File." -	msg[im.ERR_MEM] = "Insuficient memory." -	msg[im.ERR_ACCESS] = "Error Accessing File." -	msg[im.ERR_DATA] = "Image type not Suported." -	msg[im.ERR_FORMAT] = "Invalid Format." -	msg[im.ERR_COMPRESS] = "Invalid or unsupported compression." -	 -	if msg[error] then -		print(msg[error]) -	else -		print("Unknown Error.") -	end -end - -function FindZero(data) - if (not data) then return false end -	for i = 1, table.getn(data) do -		if data[i] == 0 then -			return true -		end -	end	 -	return false -end - -function AttribData2Str(data, data_type) -	local data_str - -	if data_type == im.BYTE then -		data_str = string.format("%3d", data[1]) -	elseif data_type == im.USHORT then -		data_str = string.format("%5d", data[1]) -	elseif data_type == im.INT then -		data_str = string.format("%5d", data[1]) -	elseif data_type == im.FLOAT then -		data_str = string.format("%5.2f", data[1]) -	elseif data_type == im.CFLOAT then -		data_str = string.format("%5.2f, %5.2f", data[1], data[2]) -	end -	 -	return data_str -end - -function GetSizeDesc(size) -	local size_desc - -	if size < 1024 then -		size_desc = "b" -	else -		size = size / 1024 - -		if size < 1024 then -			size_desc = "Kb" -		else -			size = size / 1024 -			size_desc = "Mb" -		end -	end - -	return size, size_desc -end - -function FileSize(file_name) -  if lfs then -    local attr = lfs.attributes(file_name) -    return attr.size -  else -    return 0 -  end -end - -function PrintImageInfo(file_name) -	print("IM Info") -	print(string.format("  File Name:\n    %s", file_name)) - -	local ifile, error = im.FileOpen(file_name) -	if not ifile then -		PrintError(error) -		return nil -	end - -	local file_size = FileSize(file_name) -	 -	print(string.format("  File Size: %.2f %s", GetSizeDesc(file_size))) - -	local format, compression, image_count = ifile:GetInfo() - -	local error, format_desc = im.FormatInfo(format) -	print(string.format("  Format: %s - %s", format, format_desc)) -	print(string.format("  Compression: %s", compression)) -	print(string.format("  Image Count: %d", image_count)) -	for i = 1, image_count do -		local error, width, height, color_mode, data_type = ifile:ReadImageInfo(i-1) -		if width == nil then -			PrintError(height) -			ifile:Close() -			return nil -		end - -		print(string.format("  Image #%d", i)) -		print(string.format("    Width: %d", width)) -		print(string.format("    Height: %d", height)) -		print(string.format("    Color Space: %s", im.ColorModeSpaceName(color_mode))) -		print(string.format("      Has Alpha: %s", im.ColorModeHasAlpha(color_mode) and "Yes" or "No")) -		print(string.format("      Is Packed: %s", im.ColorModeIsPacked(color_mode) and "Yes" or "No")) -		print(string.format("      Is Top Down: %s", im.ColorModeIsTopDown(color_mode) and "Yes" or "No")) -		print(string.format("    Data Type: %s", im.DataTypeName(data_type))) - -		local image_size = im.ImageDataSize(width, height, color_mode, data_type) -		print(string.format("    Data Size: %.2f %s", GetSizeDesc(image_size))) - -		local attrib_list = ifile:GetAttributeList() -		for a = 1, table.getn(attrib_list) do -			if a == 1 then -				print("    Attributes:") -			end - -			local attrib_data, attrib_data_type = ifile:GetAttribute(attrib_list[a]) - -			if table.getn(attrib_data) == 1 then -				print(string.format("      %s: %s", attrib_list[a], AttribData2Str(attrib_data, attrib_data_type))) -			elseif attrib_data_type == im.BYTE and FindZero(attrib_data) then -        attrib_data = ifile:GetAttribute(attrib_list[a], true) -				print(string.format("      %s: %s", attrib_list[a], attrib_data)) -			else -				print(string.format("      %s: %s ...", attrib_list[a], AttribData2Str(attrib_data, attrib_data_type))) -			end -		end -	end -     -	ifile:Close() -end - -function main(arg) -  if (not arg or table.getn(arg) < 1) then -    print("Invalid number of arguments.") -    return nil -  end - -  PrintImageInfo(arg[1]) -  return 1 -end - -main(arg) ---PrintImageInfo("lena.jpg") diff --git a/test/lua/lena.jpg b/test/lua/lena.jpgBinary files differ deleted file mode 100644 index b6bad61..0000000 --- a/test/lua/lena.jpg +++ /dev/null diff --git a/test/lua/multicrop.lua b/test/lua/multicrop.lua deleted file mode 100644 index 6af3e52..0000000 --- a/test/lua/multicrop.lua +++ /dev/null @@ -1,61 +0,0 @@ --- lua5.1 multicrop.lua 100 500 100 500 *.jpg - -require"imlua" -require"imlua_process" - -err_msg = { -  "No error.", -  "Error while opening the file.", -  "Error while accessing the file.", -  "Invalid or unrecognized file format.", -  "Invalid or unsupported data.", -  "Invalid or unsupported compression.", -  "Insuficient memory", -  "Interrupted by the counter", -} - -x1 = arg[1] -x2 = arg[2] -y1 = arg[3] -y2 = arg[4] -filename1 = arg[5] -if (not x1 or not x2 or not y1 or not y2 or not filename1) then -  print("Must have the rectangle coordinates and at least one file name as parameters.") -  print("  Can have more than one file name as parameters and can use wildcards.") -  print("  Usage:") -  print("    lua multicrop.lua x1 x2 y1 y2 filename1 filename2 ...") -  return -end - -print(">>> Crop of multiple images <<<") -print("") - -function ProcessImageFile(file_name) -  print("Loading File: "..file_name) -  image, err = im.FileImageLoad(file_name); - -  if (err and err ~= im.ERR_NONE) then -    error(err_msg[err+1]) -  end - -  new_image = im.ProcessCropNew(image, x1, x2, y1, y2) - -  new_image:Save(file_name, "JPEG"); - -  new_image:Destroy() -  image:Destroy() -  print("Done File.") -  print("") -end - -file_count = 0 -for index,value in ipairs(arg) do -  if (index > 4) then -    ProcessImageFile(arg[index]) -    file_count = file_count + 1 -  end -end - -if (file_count > 1) then -  print("Processed "..file_count.." Files.") -end diff --git a/test/lua/multimorpho.lua b/test/lua/multimorpho.lua deleted file mode 100644 index 742d713..0000000 --- a/test/lua/multimorpho.lua +++ /dev/null @@ -1,103 +0,0 @@ --- multi-step morphological opening on a binarized image, with increasing structuring element (Se) size: --- step 1 - 3x3 Se --- step 2 - 5x5 Se --- step 3 - 7x7 Se --- Step n - (2n+1)x (2n+1) Se --- after each step, a count of the objects (white items) in the opened image has to be performed,  --- and the number of counted items to be saved in a .txt file for easy and fast exporting to excel - -require"imlua" -require"imlua_process" - -err_msg = { -  "No error.", -  "Error while opening the file.", -  "Error while accessing the file.", -  "Invalid or unrecognized file format.", -  "Invalid or unsupported data.", -  "Invalid or unsupported compression.", -  "Insufficient memory", -  "Interrupted by the counter", -} - -colorspace_str = { -  "RGB",  -  "MAP",    -  "GRAY",   -  "BINARY", -  "CMYK",   -  "YCBCR",  -  "LAB",    -  "LUV",    -  "XYZ"     -} - -num_step = arg[1] -file_name1 = arg[2] -if (not num_step or not file_name1) then -  print("Must have the number of steps and a file name as parameters.") -  print("  Can have more than one file name as parameters and can use wildcards.") -  print("  Usage:") -  print("    lua multimorpho.lua num_step filename1 filename2 ...") -  return -end - -print(">>> Multi-step Morphological Opening <<<") -print("Number of Steps: "..num_step) -print("") - -function ProcessImageFile(file_name, num_step) -  print("Loading File: "..file_name) -  image, err = im.FileImageLoad(file_name); - -  if (err and err ~= im.ERR_NONE) then -    error(err_msg[err+1]) -  end -     -  if (image:ColorSpace() ~= im.BINARY) then -    error("Invalid Image Color Space. Must be a Binary image [Color Space="..colorspace_str[image:ColorSpace()+1].."].") -  end - -  file_name = file_name..".csv" -  print("Saving Log File: "..file_name) -  log = io.open(file_name, "w") - -  morph_image = image:Clone() -  obj_image = im.ImageCreateBased(image, nil, nil, im.GRAY, im.USHORT) - -  for step = 1, num_step do -    kernel_size = 2*step+1 -    print("  Binary Morphology Open [Kernel Size="..kernel_size.."x"..kernel_size.."].") -    im.ProcessBinMorphOpen(image, morph_image, kernel_size, 1)  -- 1 interaction -     -    num_obj = im.AnalyzeFindRegions(morph_image, obj_image, 4, false)  -- 4 connected, ignore objects that touch the border -    print("    Objects Found: "..num_obj) -    log:write(kernel_size..";"..num_obj.."\n") -     -    if (num_obj == 0) then -      step = num_step -    end -     -    obj_image:Clear() -    morph_image:Clear() -  end -    -  log:close()  -  obj_image:Destroy() -  morph_image:Destroy() -  image:Destroy() -  print("Done File.") -  print("") -end - -file_count = 0 -for index,value in ipairs(arg) do -  if (index > 1) then -    ProcessImageFile(arg[index], num_step) -    file_count = file_count + 1 -  end -end - -if (file_count > 1) then -  print("Processed "..file_count.." Files.") -end diff --git a/test/lua/palette.lua b/test/lua/palette.lua deleted file mode 100644 index 5ec7168..0000000 --- a/test/lua/palette.lua +++ /dev/null @@ -1,6 +0,0 @@ -require"imlua" - -local impal = im.PaletteHotIron() -print(impal) -print(im.ColorDecode(impal[1])) - diff --git a/test/lua/process.lua b/test/lua/process.lua deleted file mode 100644 index e942b27..0000000 --- a/test/lua/process.lua +++ /dev/null @@ -1,50 +0,0 @@ -require"imlua" -require"imlua_process" - -function save_histogram (hist, filename, format) -	local height = 200 -- altura da imagem -	local max = math.max(unpack(hist)) -- pega o maior valor do histograma -	local n = table.getn(hist) + 1 -- zero-based -	local image = im.ImageCreate(n, height, im.GRAY, im.BYTE) -- cria a imagem -	local white = 255 -	local black = 0 - -	local render = function (x, y, d, param) -		local v = hist[x] / max -		local h = v * height -		if y <= h then return black end -		return white -	end - -	im.ProcessRenderOp(image, render, "histogram", {}, 0) -	image:Save(filename, format) -end - -local filename = "lena.jpg" - -local image = im.FileImageLoad(filename) - -save_histogram(im.CalcHistogram(image, 0, 0), "lena_histogram_R.gif", "GIF") -save_histogram(im.CalcHistogram(image, 1, 0), "lena_histogram_G.gif", "GIF") -save_histogram(im.CalcHistogram(image, 2, 0), "lena_histogram_B.gif", "GIF") -save_histogram(im.CalcGrayHistogram(image, 0), "lena_histogram_gray.gif", "GIF") - -local r = im.ImageCreate(image:Width(), image:Height(), im.GRAY, image:DataType()) -local g = im.ImageCreate(image:Width(), image:Height(), im.GRAY, image:DataType()) -local b = im.ImageCreate(image:Width(), image:Height(), im.GRAY, image:DataType()) -im.ProcessSplitComponents(image, { r, g, b}) -r:Save("lena_r.jpg", "JPEG") -g:Save("lena_g.jpg", "JPEG") -b:Save("lena_b.jpg", "JPEG") - -local rgb = image:Clone() -im.ProcessMergeComponents({r, g, b}, rgb) -rgb:Save("lena_rgb.jpg", "JPEG") - -local replace = image:Duplicate() -im.ProcessReplaceColor(image, replace, { 146, 93, 145 }, { 255, 0, 255 }) -replace:Save("lena_replace.jpg", "JPEG") - -local bitmask = image:Duplicate() -im.ProcessBitMask(image, bitmask, "01111010", im.BIT_XOR) -bitmask:Save("lena_bitmask.jpg", "JPEG") diff --git a/test/lua/process_new.lua b/test/lua/process_new.lua deleted file mode 100644 index 93ebcce..0000000 --- a/test/lua/process_new.lua +++ /dev/null @@ -1,44 +0,0 @@ -require"imlua" -require"imlua_process" - -function save_histogram (hist, filename, format) -	local height = 200 -- altura da imagem -	local max = math.max(unpack(hist)) -- pega o maior valor do histograma -	local n = table.getn(hist) + 1 -- zero-based -	local image = im.ImageCreate(n, height, im.GRAY, im.BYTE) -- cria a imagem -	local white = 255 -	local black = 0 - -	local render = function (x, y, d, param) -		local v = hist[x] / max -		local h = v * height -		if y <= h then return black end -		return white -	end - -	im.ProcessRenderOp(image, render, "histogram", {}, 0) -	image:Save(filename, format) -end - -local filename = "lena.jpg" - -local image = im.FileImageLoad(filename) - -save_histogram(im.CalcHistogram(image, 0, 0), "lena_histogram_R.gif", "GIF") -save_histogram(im.CalcHistogram(image, 1, 0), "lena_histogram_G.gif", "GIF") -save_histogram(im.CalcHistogram(image, 2, 0), "lena_histogram_B.gif", "GIF") -save_histogram(im.CalcGrayHistogram(image, 0), "lena_histogram_gray.gif", "GIF") - -local r, g, b = im.ProcessSplitComponentsNew(image) -r:Save("lena_r.jpg", "JPEG") -g:Save("lena_g.jpg", "JPEG") -b:Save("lena_b.jpg", "JPEG") - -local rgb = im.ProcessMergeComponentsNew({r, g, b}) -rgb:Save("lena_rgb.jpg", "JPEG") - -local replace = im.ProcessReplaceColorNew(image, { 146, 93, 145 }, { 255, 0, 255 }) -replace:Save("lena_replace.jpg", "JPEG") - -local bitmask = im.ProcessBitMaskNew(image, "01111010", im.BIT_XOR) -replace:Save("lena_bitmask.jpg", "JPEG") diff --git a/test/lua/render.lua b/test/lua/render.lua deleted file mode 100644 index b57f906..0000000 --- a/test/lua/render.lua +++ /dev/null @@ -1,50 +0,0 @@ -require"imlua" -require"imlua_process" - -local image = im.ImageCreate(500, 500, im.RGB, im.BYTE) - -im.ProcessRenderRandomNoise(image) -image:Save("render_noise.bmp", "BMP") - -im.ProcessRenderConstant(image, { 128.0, 0.0, 255.0 }) -image:Save("render_constant.bmp", "BMP") - -im.ProcessRenderWheel(image, 100, 200) -image:Save("render_wheel.bmp", "BMP") - -im.ProcessRenderTent(image, 300, 200) -image:Save("render_tent.bmp", "BMP") - -im.ProcessRenderRamp(image, 0, 500, 0) -image:Save("render_ramp.bmp", "BMP") - -im.ProcessRenderBox(image, 200, 200) -image:Save("render_box.bmp", "BMP") - -im.ProcessRenderSinc(image, 100.0, 100.0) -image:Save("render_sinc.bmp", "BMP") - -im.ProcessRenderGaussian(image, 100.0) -image:Save("render_gaussian.bmp", "BMP") - -im.ProcessRenderLapOfGaussian(image, 100.0) -image:Save("render_lapofgaussian.bmp", "BMP") - -im.ProcessRenderCosine(image, 100.0, 100.0) -image:Save("render_cosine.bmp", "BMP") - -im.ProcessRenderGrid(image, 100.0, 100.0) -image:Save("render_grid.bmp", "BMP") - -im.ProcessRenderChessboard(image, 100.0, 100.0) -image:Save("render_chess.bmp", "BMP") - -im.ProcessRenderCone(image, 200) -image:Save("render_cone.bmp", "BMP") - -local render_func = function (x, y, d, param) -	return math.mod(x + y, 256) -end - -im.ProcessRenderOp(image, render_func, "test", {}, 0) -image:Save("render_func.bmp", "BMP") diff --git a/test/lua/render_cd.lua b/test/lua/render_cd.lua deleted file mode 100644 index 4af8a16..0000000 --- a/test/lua/render_cd.lua +++ /dev/null @@ -1,19 +0,0 @@ -require"imlua" -require"cdlua" -require"cdluaim" - -local image = im.ImageCreate(500, 500, im.RGB, im.BYTE) -local canvas = image:cdCreateCanvas()  -- Creates a CD_IMAGERGB canvas - -canvas:Activate()   -canvas:Background(cd.EncodeColor(255, 255, 255)) -canvas:Clear() -fgcolor = cd.EncodeColor(255, 0, 0) -- red -fgcolor = cd.EncodeAlpha(fgcolor, 50) -- semi transparent -canvas:Foreground(fgcolor) -canvas:Font("Times", cd.BOLD, 24) -canvas:Text(100, 100, "Test") -canvas:Line(0,0,100,100) -canvas:Kill() - -image:Save("new.bmp", "BMP") diff --git a/test/lua/screencapture.lua b/test/lua/screencapture.lua deleted file mode 100644 index 16eb94e..0000000 --- a/test/lua/screencapture.lua +++ /dev/null @@ -1,13 +0,0 @@ -require"imlua" -require"cdlua" -require"cdluaim" - -local canvas = cd.CreateCanvas(cd.NATIVEWINDOW, nil) -canvas:Activate() -local w, h = canvas:GetSize() -local image = im.ImageCreate(w, h, im.RGB, im.BYTE)     -image:cdCanvasGetImage(canvas, 0, 0) -error = image:Save("screencapture.jpg", "JPEG") -image:Destroy()         -if (error) then print("error = "..error) end - diff --git a/test/lua/show_flower.wlua b/test/lua/show_flower.wlua deleted file mode 100644 index ec97a88..0000000 --- a/test/lua/show_flower.wlua +++ /dev/null @@ -1,31 +0,0 @@ -require"imlua" -require"cdlua" -require"cdluaim" -require"iuplua" -require"iupluacd" - -image = im.FileImageLoad("flower.jpg") -- directly load the image at index 0. it will open and close the file -cnv = iup.canvas{rastersize = image:Width().."x"..image:Height(), border = "NO"} -cnv.image = image -- store the new image in the IUP canvas as an attribute - -function cnv:map_cb()       -- the CD canvas can only be created when the IUP canvas is mapped -  self.canvas = cd.CreateCanvas(cd.IUP, self) -end - -function cnv:action()          -- called everytime the IUP canvas needs to be repainted -  self.canvas:Activate() -  self.canvas:Clear() -  self.image:cdCanvasPutImageRect(self.canvas, 0, 0, 0, 0, 0, 0, 0, 0) -- use default values -end - -dlg = iup.dialog{cnv} - -function dlg:close_cb() -  cnv.image:Destroy() -  cnv.canvas:Kill() -  self:destroy() -  return iup.IGNORE -- because we destroy the dialog -end - -dlg:show() -iup.MainLoop() diff --git a/test/lua/view.wlua b/test/lua/view.wlua deleted file mode 100644 index 60be33e..0000000 --- a/test/lua/view.wlua +++ /dev/null @@ -1,183 +0,0 @@ -require"imlua" -require"cdlua" -require"cdluaim" -require"iuplua" -require"iupluacd" - -function PrintError(func, error) -  local msg = {} -  msg[im.ERR_OPEN] = "Error Opening File." -  msg[im.ERR_MEM] = "Insuficient memory." -  msg[im.ERR_ACCESS] = "Error Accessing File." -  msg[im.ERR_DATA] = "Image type not Suported." -  msg[im.ERR_FORMAT] = "Invalid Format." -  msg[im.ERR_COMPRESS] = "Invalid or unsupported compression." -   -  if msg[error] then -    print(func..": "..msg[error]) -  else -    print("Unknown Error.") -  end -end - -function LoadImage(file_name) -  local image -  local ifile, error = im.FileOpen(file_name) -  if not ifile then -      PrintError("open", error) -      return -  end -   -  -- load the first image in the file. -  -- force the image to be converted to a bitmap -  image, error = ifile:LoadBitmap() -  if not image then -    PrintError("load", error) -    return -  end -     -  ifile:Close() -  return image -end - - -dlg = nil  -- only one dlg - -function ShowImage(file_name) - -  local image = LoadImage(file_name) -  if not image then -    return false -  end - -  if dlg then -    local old_canvas = dlg.canvas -    local old_image = dlg.image - -    if old_canvas ~= nil then old_canvas:Kill() end -    if old_image ~= nil then old_image:Destroy() end - -    iup.Destroy(dlg) -  end - -  cnv = iup.canvas{} -   -  function cnv:action() -    local canvas = dlg.canvas -    local image = dlg.image -     -    if (not canvas) then return end -     -    -- posy is top-down, CD is bottom-top. -    -- invert scroll reference (YMAX-DY - POSY). -    y = self.ymax-self.dy - self.posy -    if (y < 0) then y = 0 end -     - -    canvas:Activate() -    canvas:Clear() -    x = -self.posx -    y = -y -    image:cdCanvasPutImageRect(canvas, x, y, image:Width(), image:Height(), 0, 0, 0, 0) -    canvas:Flush() -     -    return iup.DEFAULT -  end - -  function cnv:button_cb() -    local file_name = "*.*" -    local error - -    file_name, error = iup.GetFile(file_name) -    if error ~= 0 then -      return iup.DEFAULT -    end -     -    ShowImage(file_name)   -    return iup.DEFAULT -  end - -   -  -- Set the Canvas inicial size (IUP will retain this value). -  w = image:Width() -  h = image:Height() -  if (w > 800) then w = 800 end -  if (h > 600) then h = 600 end -  cnv.rastersize = string.format("%dx%d", w, h) -  cnv.border = "no" -  cnv.scrollbar = "yes"   -  cnv.xmax = image:Width()-1 -  cnv.ymax = image:Height()-1 -   -  function cnv:resize_cb(w, h) -    self.dx = w -    self.dy = h -    self.posx = self.posx -- needed only in IUP 2.x -    self.posy = self.posy -  end -   -  dlg = iup.dialog{cnv} -  dlg.title = file_name -  dlg.cnv = cnv -  dlg.image = image -   -  function dlg:close_cb() -    local canvas = self.canvas -    local image = self.image - -    if canvas then canvas:Kill() end -    if image then image:Destroy() end - -    return iup.CLOSE -  end - -  function dlg:map_cb() -    canvas = cd.CreateCanvas(cd.IUP, self.cnv) -    self.canvas = canvas -    self.posx = 0 -- needed only in IUP 2.x -    self.posy = 0 -  end -   -  dlg:show() -  cnv.rastersize = nil -- to remove the minimum limit -   -  return true -end - -function main(arg) -  local file_name = "*.*" -  local error -   -  -- Try to get a file name from the command line. -  if (arg == nil or table.getn(arg) < 2) then -    file_name, error = iup.GetFile(file_name) -    if error ~= 0 then -      return true -    end -  else    -    file_name = arg[1] -  end -                                    -  if not ShowImage(file_name) then -    local Try = true -    -- If ShowImage returns an error I will try to read another image. -    -- I can give up on File Open dlg choosing "Cancel". -    while Try do -      file_name = "*.*" -       -          file_name, error = iup.GetFile(file_name) -      if error ~= 0 then -        return true -      end -       -      if ShowImage(file_name) then -        Try = false -      end -    end -  end -   -  iup.MainLoop()   -  return true -end - -main(arg) diff --git a/test/lua/viewGL.wlua b/test/lua/viewGL.wlua deleted file mode 100644 index f5ce58a..0000000 --- a/test/lua/viewGL.wlua +++ /dev/null @@ -1,76 +0,0 @@ -require("iuplua") -require("iupluagl") -require("luagl") -require("imlua") - -iup.key_open() - -texture = 0 - -cnv = iup.glcanvas{buffer="DOUBLE", rastersize = "640x480"} - -function cnv:resize_cb(width, height) -  iup.GLMakeCurrent(self) -  gl.Viewport(0, 0, width, height) -end - -function cnv:action(x, y) -  iup.GLMakeCurrent(self) -  gl.PixelStore(gl.UNPACK_ALIGNMENT, 1) -  gl.Clear('COLOR_BUFFER_BIT,DEPTH_BUFFER_BIT') -- Clear Screen And Depth Buffer -   -  gl.DrawPixelsRaw (image:Width(), image:Height(), glformat, gl.UNSIGNED_BYTE, gldata) -   -  iup.GLSwapBuffers(self) -end               - -function cnv:k_any(c) -  if c == iup.K_q or c == iup.K_ESC then -    return iup.CLOSE -  end -   -  if c == iup.K_F1 then -    if fullscreen then -      fullscreen = false -      dlg.fullscreen = "No" -    else -      fullscreen = true -      dlg.fullscreen = "Yes" -    end -  end -   -  if c == iup.K_F2 then -    fileName = iup.GetFile("*.*") -    new_image = im.FileImageLoadBitmap(fileName) -    if (not new_image) then -      iup.Message("Error", "LoadBitmap failed.") -    else -      gldata, glformat = new_image:GetOpenGLData() -      if (image) then image:Destroy() end -      image = new_image -      iup.Update(cnv) -    end -  end -   -end - -if arg and arg[1] ~= nil then -  fileName = arg[1] -else -  fileName = iup.GetFile("*.*") -end - -image = im.FileImageLoadBitmap(fileName) -if (not image) then -  error("LoadBitmap failed.") -end -gldata, glformat = image:GetOpenGLData() - -dlg = iup.dialog{cnv; title="LuaGL/IUP/IM Loader"} - -dlg:show() -cnv.rastersize = nil -- reset minimum limitation - -if (not iup.MainLoopLevel or iup.MainLoopLevel()==0) then -  iup.MainLoop() -end diff --git a/test/lua/view_image.lua b/test/lua/view_image.lua deleted file mode 100644 index c156bd3..0000000 --- a/test/lua/view_image.lua +++ /dev/null @@ -1,76 +0,0 @@ -require"imlua" -require"cdlua" -require"cdluaim" -require"iuplua" -require"iupluacd" - -iup.key_open() - -function View_Image(image, title) -  ret = false - -  cnv = iup.canvas{} -   -  function cnv:action() -    local canvas = dlg.canvas -    local image = dlg.image -     -    if (not canvas) then return end -     -    canvas:Activate() -    cw, ch = canvas:GetSize() -    iw = image:Width() -    ih = image:Height() -     -    if (iw > ih) then -      h = iw/iw * ch -      y = (ch-h)/2 -      x = 0 -      w = cw -    else -      w = iw/ih * ch -      x = (cw-w)/2 -      y = 0 -      h = ch -    end -     -    canvas:Clear() -    image:cdCanvasPutImageRect(canvas, x, y, w, h, 0, 0, 0, 0) -  end - -  function cnv:button_cb() -    dlg:close_cb() -    ret = true -    return iup.CLOSE -  end -   -  dlg = iup.dialog{iup.vbox{cnv, iup.label{title="Click to accept or press Esc to abort."}}} -  dlg.placement="maximized" -  dlg.title = title -  dlg.cnv = cnv -  dlg.image = image -   -  function dlg:k_any(c) -  print("K_any("..c..")") -    if (c == iup.K_ESC) then -      dlg:close_cb() -      return iup.CLOSE -    end -  end - -  function dlg:close_cb() -    local canvas = self.canvas -    if canvas then canvas:Kill() end -  end - -  function dlg:map_cb() -    canvas = cd.CreateCanvas(cd.IUP, self.cnv) -    self.canvas = canvas -  end -   -  dlg:show() -  iup.MainLoop() -  dlg:destroy() -   -  return ret -end | 
