跳到主要内容

img 图像处理


二值化

binaryzationBitmapByColor 通过颜色值二值化

参数名必选类型说明
bitmapBufferedImagebitmap格式图片数据
colorstring字符串值,可通过findColor生成
modeint二值化模式,默认1,2则为反转
//颜色值支持
//格式1: #ffffff
//格式2: #ffffff-#101010
//格式3: #ffffff-#101010,#ffffff-#101010
//格式4: #ffffff,#ffffff-#101010

//读图或者截图,并转为bitmap格式
let img = image.captureFullScreenPng()
let bit = image.imageToBitmap(img)
image.recycle(img)

//全格式二值化,默认1模式
bit = ll.img.binaryzationBitmapByColor(bit, "#ffffff-#101010,#ffffff-#101010")

//全格式二值化
bit = ll.img.binaryzationBitmapByColor(bit, "#ffffff-#101010,#ffffff-#101010", 1)

//全格式二值化,反转二值化,结果黑白颠倒
bit = ll.img.binaryzationBitmapByColor(bit, "#ffffff-#101010,#ffffff-#101010", 2)

//结果保存到本地,或者做其他处理
image.saveBitmap(bit, "png", 100, "d:/2.png")
返回值类型说明
BufferedImage@44af652BufferedImage二值化后的bitmap图

binaryzationBitmapByRange 通过阈值范围二值化

参数名必选类型说明
bitmapBitmapbitmap格式图片数据
startnumber起始阈值
endnumber结束阈值,可空,默认255
modenumber二值化模式,默认1,2则为反转
let bit = image.readBitmap("F:\\QQ接收的文件\\53.png")
//默认30-255,模式1
bit = ll.img.binaryzationBitmapByRange(bit, 30)
//默认模式1
bit = ll.img.binaryzationBitmapByRange(bit, 30, 150)
//全参数
bit = ll.img.binaryzationBitmapByRange(bit, 30, 150, 2)
image.saveBitmap(bit, "png", 100, "g:/1.png")
返回值类型说明
BitmapBitmap二值化后数据

circle

clipCircle 裁剪圆形

参数名必选类型说明
bitmapBufferedImagebitmap格式图片数据
radiusint圆半径,默认0,则以x轴一半为半径
let bit = image.readBitmap("g:/1.png")

//默认0,则以x轴一半为半径
bit = ll.img.clipCircle(bit)

//指定半径
bit = ll.img.clipCircle(bit, 100)
image.saveBitmap(bit, "png", 100, "g:/2.png")
返回值类型说明
bitmapBufferedImagebitmap格式图片数据


clipCircleRing 裁剪圆环

参数名必选类型说明
bitmapBufferedImagebitmap格式图片数据
radiusint外圆半径,默认0,则以x轴一半为半径
innerRadiusint内圆半径,默认0,则以x轴一半为半径
let bit = image.readBitmap("g:/1.png")

//默认0,则以x轴一半为半径,此时结果为圆,非圆环
bit = ll.img.clipCircleRing(bit)

//指定外圆半径,此时结果为圆,非圆环
bit = ll.img.clipCircleRing(bit, 100)

//指定外圆半径和内圆半径,此时结果为圆环
bit = ll.img.clipCircleRing(bit, 100, 50)

//指定外圆半径和内圆半径,外圆设置为0,则以x轴一半为半径,此时结果为圆环
bit = ll.img.clipCircleRing(bit, 0, 50)

image.saveBitmap(bit, "png", 100, "g:/2.png")
返回值类型说明
bitmapBufferedImagebitmap格式图片数据


其他

rotateBitmap 旋转图片

参数名必选类型说明
imageImageBitmapBitmap图片对象
angleNumber角度,如旋转90度,支持负数
let bit = image.captureFullScreenPng()
bit = image.imageToBitmap(bit)
//右旋90度 90
bit = ll.img.rotateBitmap(bit, 90)
//左旋90度 -90
bit = ll.img.rotateBitmap(bit, -90)
//保存到本地查看效果
image.saveBitmap(bit, "png", 100, "G:/1.png")
返回值类型说明
ImageBitmapImageBitmap旋转后的bitmap图片数据

bitmapToRGBArr 获取图片rgb数据

参数名必选类型说明
bitmapbitmap图片bitmap数据
startXint起始x,可空,默认0
startYint起始y,可空,默认0
endXint结束x,可空,默认0
endYint结束x,可空,默认0
let img = image.captureFullScreenPng()
let bit = image.imageToBitmap(img)
image.recycle(img)
let arr = ll.img.bitmapToRGBArr(bit)
//不要直接打印arr内容,数据太大会引起ec崩溃
logd(arr.length)
for (let i = 0; i < arr.length; i++) {
logd(arr[i])
if (i > 100) {
break
}
}
返回值类型说明
[[134, 135, 147],[134, 135, 147]][[],[]]二位数组rgb数据

getColorCount 获取范围内颜色个数

参数名必选类型说明
bitmapBitmap图片bitmap数据
colorstring字符串值,可通过findColor生成
startXint起始x,可空,默认0
startYint起始y,可空,默认0
endXint结束x,可空,默认0
endYint结束x,可空,默认0
//1.全屏获取
let img = image.captureFullScreenPng()
let bit1 = image.imageToBitmap(img)
//查找单色数量
let count = ll.img.getColorCount(bit1, "#1296DB")
//查找单色数量,带偏色
count = ll.img.getColorCount(bit1, "#1296DB-#101010")
//查找组合色数量,带偏色,
count = ll.img.getColorCount(bit1, "#1296DB-#101010,#556688-#101010")
logd(count)
//10086

//2.通过函数本身限制范围
let img = image.captureFullScreenPng()
let bit1 = image.imageToBitmap(img)
//查找单色数量
let count = ll.img.getColorCount(bit1, "#1296DB", 100, 100, 200, 200)
logd(count)
返回值类型说明
5number颜色数量

scaleBitmapByWH 通过宽高缩放Bitmap图片

参数名必选类型说明
bitmapBitmapBitmap图片对象
newWidthnumber新宽度
newHeightnumber新高度
let bit = image.readBitmap("g:/1.png")
bit = ll.img.scaleBitmapByWH(bit, 50, 50)
image.saveBitmap(bit, "png", 100, "g:/2.png")
返回值类型说明
Bitmapnull/BitmapBitmap图片对象