Improvement

This commit is contained in:
2025-02-09 21:27:02 +01:00
parent b8b985470f
commit f79ebedc62
9 changed files with 318 additions and 356 deletions

View File

@ -12,7 +12,6 @@ function analyzeTile(imageData: ImageData, tileId: string, tileName: string): Ti
const { r, g, b } = getDominantColorFast(imageData)
const edge = getEdgeComplexityFast(imageData)
const namePrefix = tileName.split('_')[0]
return {
tileId,
color: { r, g, b },
@ -53,16 +52,14 @@ function getEdgeComplexityFast(imageData: ImageData) {
const height = imageData.height
let edgePixels = 0
for (let y = 0; y < height; y += PIXEL_SAMPLE_RATE) {
for (let x = 0; x < width; x += PIXEL_SAMPLE_RATE) {
// Only check every other row/column
for (let y = 0; y < height; y += PIXEL_SAMPLE_RATE * 2) {
for (let x = 0; x < width; x += PIXEL_SAMPLE_RATE * 2) {
const i = (y * width + x) * 4
if (
data[i + 3] > 0 &&
(x === 0 || y === 0 || x >= width - PIXEL_SAMPLE_RATE || y >= height - PIXEL_SAMPLE_RATE || data[i - 4 * PIXEL_SAMPLE_RATE + 3] === 0 || data[i + 4 * PIXEL_SAMPLE_RATE + 3] === 0 || data[i - width * 4 * PIXEL_SAMPLE_RATE + 3] === 0 || data[i + width * 4 * PIXEL_SAMPLE_RATE + 3] === 0)
) {
if (data[i + 3] > 0 && (x === 0 || y === 0 || x >= width - PIXEL_SAMPLE_RATE || y >= height - PIXEL_SAMPLE_RATE || data[i - 4 * PIXEL_SAMPLE_RATE + 3] === 0)) {
edgePixels++
}
}
}
return edgePixels * PIXEL_SAMPLE_RATE
return edgePixels * PIXEL_SAMPLE_RATE * 2
}