类: Image
更新: 2025/7/20 字数: 0 字 时长: 0 分钟
image.Image
代表图像对象的类,通过opencv的Mat构造。或者通过readImage, decodeImage等函数从图片文件、链接、Base64中解析。
目录
Constructors
属性
方法
- pixel
- clip
- clipSync
- resize
- resizeSync
- scale
- scaleSync
- rotate
- rotateSync
- grayscale
- grayscaleSync
- copy
- copySync
- toBitmap
- detectAndComputeFeatures
- recycle
- ofBitmap
Constructors
constructor
- new Image(
mat:Mat)
参数
| 名称 | 类型 | 描述 |
|---|---|---|
mat | Mat |
属性
_mat
- _mat
_c4mat
- _c4mat?
_onRecycledCallbacks
- _onRecycledCallbacks
mat
getmat():Mat
返回值
c4mat
获取四通道(BGRA格式)的Mat对象。
getc4mat():Mat
返回值
width
获取图像的宽度。
getwidth():number
返回值
number
height
获取图像的高度。
getheight():number
返回值
number
convertToTargetColor
privateconvertToTargetColor
of_ARGB_8888_Bitmap
private staticof_ARGB_8888_Bitmap
方法
pixel
获取图像在位置(x, y)处的颜色。若为三通道图像,则假设其为BGR格式;若为四通道图像,则假设其为BGRA格式;若为单通道图像,则假设其为灰度图。
- pixel(x:
number, y:number):Color
参数
| 名称 | 类型 | 描述 |
|---|---|---|
x | number | |
y | number |
返回值
示例
js
"nodejs";
const { loadImage } = require("image");
async function main() {
const img = await loadImage("https://picsum.photos/200/300");
console.log(img.pixel(0, 0));
}
main();clip
用给定的区域剪切图像,异步返回剪切后的图像。
- clip(rect:
cv.Rect): Promise<Image>
参数
| 名称 | 类型 | 描述 |
|---|---|---|
rect | cv.Rect | 指定剪切区域 |
返回值
Promise<Image>
示例
js
"nodejs";
const cv = require("@autojs/opencv");
const { loadImage } = require("image");
async function main() {
const img = await loadImage("https://picsum.photos/200/300");
console.log(await img.clip(new cv.Rect(0, 0, 100, 100)));
}
main();clipSync
用给定的区域剪切图像,同步返回剪切后的图像。
- clipSync(rect:
cv.Rect):Image
参数
| 名称 | 类型 | 描述 |
|---|---|---|
rect | cv.Rect | 指定剪切区域 |
返回值
示例
js
"nodejs";
const cv = require("@autojs/opencv");
const { loadImage } = require("image");
async function main() {
const img = await loadImage("https://picsum.photos/200/300");
console.log(img.clipSync(new cv.Rect(0, 0, 100, 100)));
}
main();resize
缩放图像,异步返回缩放后的新图像。
- resize(width:
number, height:number, interpolation?:number): Promise<Image>
参数
| 名称 | 类型 | 描述 |
|---|---|---|
width | number | 缩放后的宽度 |
height | number | 缩放后的高度 |
interpolation? | number | 插值方式,默认为{@link cv.INTER_LINEAR}。可以为{@link cv.INTER_AREA}, {@link cv.INTER_CUBIC}, {@link cv.INTER_LANCZOS4}, {@link cv.INTER_LINEAR}, {@link cv.INTER_NEAREST}等。 |
返回值
Promise<Image>
resizeSync
缩放图像,同步返回缩放后的新图像。
- resizeSync(width:
number, height:number, interpolation?:number):Image
参数
| 名称 | 类型 | 描述 |
|---|---|---|
width | number | 缩放后的宽度 |
height | number | 缩放后的高度 |
interpolation? | number | 插值方式,默认为{@link cv.INTER_LINEAR}。可以为{@link cv.INTER_AREA}, {@link cv.INTER_CUBIC}, {@link cv.INTER_LANCZOS4}, {@link cv.INTER_LINEAR}, {@link cv.INTER_NEAREST}等。 |
返回值
toBitmap
将图像转换为android的Bitmap对象。
- toBitmap():
android.graphics.Bitmap
返回值
android.graphics.Bitmap
detectAndComputeFeatures
回收图像对象。回收后不应对本对象进行任何操作。
- detectAndComputeFeatures(options?:
DetectAndComputeFeaturesOptions): Promise<ImageFeatures>
参数
| 名称 | 类型 | 描述 |
|---|---|---|
options? | DetectAndComputeFeaturesOptions |
返回值
Promise<ImageFeatures>
recycle
回收图像对象。回收后不应对本对象进行任何操作。
- recycle():
void
返回值
void
ofBitmap
将android Bitmap对象转为Image对象。若Bitmap为空或非Bitmap对象,则抛出异常。
- ofBitmap(bitmap:
android.graphics.Bitmap):Image
参数
| 名称 | 类型 | 描述 |
|---|---|---|
bitmap | android.graphics.Bitmap |
返回值
