lmagse相关
获取
bitmapToRGBArr 获取图片rgb数据
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | bitmap | 图片bitmap数据 |
startX | 否 | int | 起始x,可空,默认0 |
startY | 否 | int | 起始y,可空,默认0 |
endX | 否 | int | 结束x,可空,默认0 |
endY | 否 | int | 结束x,可空,默认0 |
//1.通过截图函数限制范围
let bit1 = image.captureScreenBitmap("png", 100, 100, 200, 200, 100)
let arr = ll.img.bitmapToRGBArr(bit1)
logd(arr)
for (let i = 0; i < arr.length; i++) {
logd(JSON.stringify(arr[i]))
}
//2.通过函数本身限制范围
let bit1 = image.captureScreenBitmap("png", 0, 0, 0, 0, 100)
//查找单色数量
let arr = ll.img.bitmapToRGBArr(bit1, 100, 100, 200, 200)
logd(arr)
for (let i = 0; i < arr.length; i++) {
logd(JSON.stringify(arr[i]))
}
返回值 | 类型 | 说明 |
---|---|---|
[22,33,44],[22,33,44]] | [[],[],[]] | 二维数组 |
getColorCount 获取范围内颜色个数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | Bitmap | 图片bitmap数据 |
color | 是 | string | 字符串值,可通过findColor生成 |
startX | 否 | int | 起始x,可空,默认0 |
startY | 否 | int | 起始y,可空,默认0 |
endX | 否 | int | 结束x,可空,默认0 |
endY | 否 | int | 结束x,可空,默认0 |
//1.通过截图函数限制范围
let bit1 = image.captureScreenBitmap("png", 100, 100, 200, 200, 100)
//查找单色数量
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 bit1 = image.captureScreenBitmap("png", 0, 0, 0, 0, 100)
//查找单色数量
let count = ll.img.getColorCount(bit1, "#1296DB", 100, 100, 200, 200)
logd(count)
返回值 | 类型 | 说明 |
---|---|---|
5 | number | 颜色数量 |
二值化
binaryzationBitmapByColor 通过颜色值二值化
提示
- java原生方法,不需要opencv
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | ImageBitmap | bitmap格式图片数据 |
color | 是 | string | 字符串值,可通过findColor生成 |
mode | 否 | int | 二值化模式,默认1,2则为反转 |
//颜色值支持
//格式1: #ffffff
//格式2: #ffffff-#101010
//格式3: #ffffff-#101010,#ffffff-#101010
//格式4: #ffffff,#ffffff-#101010
//初始化图色功能,不需要opencv
laoleng.EC.initImage()
//读图或者截图bitmap格式
let bit = image.captureScreenBitmap("png", 0, 0, 0, 0, 100)
//全格式二值化,默认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, "/sdcard/Pictures/2.png")
返回值 | 类型 | 说明 |
---|---|---|
ImageBitmap@44af652 | ImageBitmap | 二值化后的bitmap图 |
binaryzationBitmapByRange 通过阈值范围二值化
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | Bitmap | bitmap格式图片数据 |
start | 是 | number | 起始阈值 |
end | 否 | number | 结束阈值,可空,默认255 |
mode | 否 | number | 二值化模式,默认1,2则为反转 |
let bit = image.readBitmap("/sdcard/1.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, "/sdcard/2.png")
返回值 | 类型 | 说明 |
---|---|---|
Bitmap | Bitmap | 二值化后数据 |
合并
mergeBitmap 合并图片,支持方向
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
firstBitmap | 是 | ImageBitmap | 第一张Bitmap图 |
secondBitmap | 是 | ImageBitmap | 第二张Bitmap图 |
direction | 否 | number | 方向,横向0/纵向1,默认0 |
//读取两张图
let bit1 = image.readBitmap("/sdcard/Pictures/1.png")
let bit2 = image.readBitmap("/sdcard/Pictures/2.png")
//默认横向
let bit = ll.img.mergeBitmap(bit1, bit2)
//指定纵向
bit = ll.img.mergeBitmap(bit1, bit2, 1)
//保存结果图
image.saveBitmap(bit, "png", 100, "/sdcard/Pictures/3.png")
//养成释放图片的好习惯
image.recycle(bit1)
image.recycle(bit2)
image.recycle(bit)
返回值 | 类型 | 说明 |
---|---|---|
android.graphics.Bitmap@64947ac | ImageBitmap | 合并后的Bitmap图 |
旋转
rotateBitmap 旋转图片
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
image | 是 | ImageBitmap | Bitmap图片对象 |
angel | 是 | number | 角度,如旋转90度 |
let bit = image.readBitmap("/sdcard/Pictures/1.png")
ll.img.rotateBitmap(bit, 90)
//养成释放图片的好习惯
bit.recycle()
返回值 | 类型 | 说明 |
---|---|---|
android.graphics.Bitmap@9dfb377 | null/ImageBitmap | Bitmap图片对象 |
缩放
scaleBitmapByWH 通过宽高缩放Bitmap
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
image | 是 | ImageBitmap | Bitmap图片对象 |
newWidth | 是 | number | 新宽度 |
newHeight | 是 | number | 新高度 |
let bit = image.readBitmap("/sdcard/Pictures/1.png")
let bit2 = ll.img.scaleBitmapByWH(bit, 50, 50)
image.saveBitmap(bit2, "png", 100, "/sdcard/Pictures/2.png")
//养成回收图片的好习惯
bit.recycle()
bit2.recycle()
返回值 | 类型 | 说明 |
---|---|---|
android.graphics.Bitmap@9dfb377 | null/ImageBitmap | Bitmap图片对象 |
scaleBitmapByRatio 通过百分比缩放Bitmap
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
image | 是 | ImageBitmap | Bitmap图片对象 |
ratioW | 是 | number | 宽百分比 |
ratioH | 是 | number | 高百分比,可不填,默认跟宽一样 |
let bit = image.readBitmap("/sdcard/Pictures/1.png")
//高百分比,可不填,默认跟宽一样
//let bit2 = ll.img.scaleBitmapByRatio(bit, 50)
let bit2 = ll.img.scaleBitmapByRatio(bit, 50, 50)
image.saveBitmap(bit2, "png", 100, "/sdcard/Pictures/2.png")
//养成回收图片的好习惯
bit.recycle()
bit2.recycle()
返回值 | 类型 | 说明 |
---|---|---|
android.graphics.Bitmap@9dfb377 | null/ImageBitmap | Bitmap图片对象 |