|
|
|
@ -35,6 +35,7 @@ export class ImageLabelAnxinComponent implements OnInit {
|
|
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
|
this.http.get(`/api/Cameras/${this.cameraId}`).subscribe((data: any) => { |
|
|
|
|
this.camerasData = data; |
|
|
|
|
// this.camerasData.dimensionedPointsAnxin = null
|
|
|
|
|
this.markType = data.type; |
|
|
|
|
const httpOptions = { |
|
|
|
|
responseType: 'blob' as 'json', |
|
|
|
@ -128,6 +129,7 @@ export class ImageLabelAnxinComponent implements OnInit {
|
|
|
|
|
|
|
|
|
|
DrawPolygoning = ''; |
|
|
|
|
initMark(canvas, context) { |
|
|
|
|
// return
|
|
|
|
|
if (!this.camerasData.dimensionedPointsAnxin) { |
|
|
|
|
return; |
|
|
|
|
} else { |
|
|
|
@ -136,8 +138,9 @@ export class ImageLabelAnxinComponent implements OnInit {
|
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
console.log('原始标点数据', this.camerasData.dimensionedPointsAnxin); |
|
|
|
|
for (const key in this.camerasData.dimensionedPointsAnxin) { |
|
|
|
|
const element = this.camerasData.dimensionedPointsAnxin[key]; |
|
|
|
|
|
|
|
|
|
for (const key in this.camerasData.dimensionedPointsAnxin.rawData) { |
|
|
|
|
const element = this.camerasData.dimensionedPointsAnxin.rawData[key]; |
|
|
|
|
console.log(key, element); |
|
|
|
|
if (element.length !== 0) { |
|
|
|
|
for (let index = 0; index < element.length; index++) { |
|
|
|
@ -453,18 +456,36 @@ export class ImageLabelAnxinComponent implements OnInit {
|
|
|
|
|
save() { |
|
|
|
|
console.log(this.camerasData.dimensionedPointsAnxin); |
|
|
|
|
if (!this.camerasData.dimensionedPointsAnxin) { |
|
|
|
|
this.camerasData.dimensionedPointsAnxin = { |
|
|
|
|
this.camerasData.dimensionedPointsAnxin = {}; |
|
|
|
|
this.camerasData.dimensionedPointsAnxin.rawData = { |
|
|
|
|
进出口: [], |
|
|
|
|
收银区: [], |
|
|
|
|
加油区: [], |
|
|
|
|
卸油区: [], |
|
|
|
|
}; |
|
|
|
|
this.camerasData.dimensionedPointsAnxin.yamlData = []; |
|
|
|
|
} |
|
|
|
|
console.log('标点数据', this.PolygonData); |
|
|
|
|
|
|
|
|
|
let yamlData = []; |
|
|
|
|
for (const key in this.PolygonData) { |
|
|
|
|
const item = this.PolygonData[key]; |
|
|
|
|
this.camerasData.dimensionedPointsAnxin[key] = item.Points; |
|
|
|
|
this.camerasData.dimensionedPointsAnxin.rawData[key] = item.Points; |
|
|
|
|
if (item.Points.length !== 0) { |
|
|
|
|
let points = []; |
|
|
|
|
for (const key in item.Points) { |
|
|
|
|
const v = item.Points[key]; |
|
|
|
|
points.push(Number((v.x / this.canvasWidth).toFixed(4))); |
|
|
|
|
points.push(Number((v.y / this.canvasHeight).toFixed(4))); |
|
|
|
|
} |
|
|
|
|
let obj = { |
|
|
|
|
type: enum_area[key], |
|
|
|
|
points: points, |
|
|
|
|
}; |
|
|
|
|
yamlData.push(obj); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
this.camerasData.dimensionedPointsAnxin.yamlData = yamlData; |
|
|
|
|
let body = { |
|
|
|
|
dimensionedPointsAnxin: JSON.stringify( |
|
|
|
|
this.camerasData.dimensionedPointsAnxin |
|
|
|
@ -485,3 +506,10 @@ export class ImageLabelAnxinComponent implements OnInit {
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
enum enum_area { |
|
|
|
|
'加油区' = 2, |
|
|
|
|
'卸油区' = 3, |
|
|
|
|
'收银区' = 1, |
|
|
|
|
'进出口' = 0, |
|
|
|
|
} |
|
|
|
|