2013-10-14 3 views
-1

사이트에있는 요소 집합이 있으면 제품을 설명하는 "하나"가 될 확률이 더 높은 알고리즘을 생성하려고합니다.사각형 크기에 따라 이미지에 점수를 매기는 알고리즘

이것은 물론 100 % 정확한 알고리즘은 아니며 나중에 사람 기반 선택이 필요하지만 적어도 가장 가능성이 높은 3 가지 이미지 목록을 얻으려고합니다. 50x50px
2보다 작은 정사각형있는 크기 없애 - - 페이지
3 모두 평균 제곱 크기를 계산합니다 - 각각에 점수를주고, 따라에

1 : 여기에 지금까지 할 것입니다 4 - 너비가 (높이 * 5)보다 큰 경우 점수 = 점수 * 0.5 (이것은 배너의 크기가 크므로이 작업을 수행합니다. 그 페이지).

내가 바꿔야 할 것이지만, 그렇게하기에 좋은 방법이 무엇인지 알지 못한다. 나는 모든 크기에 따라에게 공유 될 것입니다 포인트의 특정 금액을 가지고 싶습니다

score_of_image = average_square_size - square_size_image 

: 3 단계에서, 지금 바로 뭐하는 거지 다음과 같은 점수를주고있다. 공유는 다른 사진과 관련된 한 그림의 크기를 반영해야합니다. 이 점을 공유하기 위해 좋은 알고리즘은 무엇입니까?

+1

혼란스러워! ... 단순한 영역 계산에 대해 이야기하고 있습니까, 아니면 이미지의 정사각형에 대해 이야기하고 있습니까? 제품에 관한 사이트에서 정보를 수집하기 위해 거미 유형의 알고리즘을 작성하려고 시도했습니다. 간단한 면적 계산을 생각했을 것입니다. d '제품'이미지를 가장 잘 나타내줍니다. 이걸 점수로 번역하려는 이유가 확실하지 않습니다. –

+1

"요소"란 무엇입니까? 비트 맵 이미지입니까? "정사각형 크기"란 무엇입니까? 그것이 비트 맵 이미지의 크기입니까 (너비와 높이)? 당신의 요점 (4)에는 문법이 깨져 있지만, 나에게는 틀린 것처럼 보입니다 ... 멋진 정사각형 이미지는 너비> 높이 * 0.5를 가지므로 벌칙을 적용하지 않을 것입니다. width> height * 2 인 경우 이미지가 벌점을 줄 수도 있습니다. 이는 매우 다릅니다. –

+0

3 단계에서 비율 차이를 원한다고 생각합니다. 따라서'image_score = square_size_image/average_square_size'와 같은 것을 사용하십시오. 따라서 평균보다 큰 이미지는 1.0보다 큰 점수를 갖습니다. –

답변

1

다른 측면과 관련하여 얼마나 중요한지 결정해야한다고 생각하지만 이미지의 크기 (너비 x 높이)를 계산하여 점수의 첫 번째 부분으로 사용할 수 있습니다. 내가이 점수를 얻는 방법은 페이지에서 가장 큰 이미지 영역을 기록하고 다른 부분을이 비율로 계산하는 것입니다. 평균 이미지 크기가 실제로 여기에 아무 것도 추가하지 않는다고 생각합니다. 가장 큰 이미지가 제품 이미지 일 가능성이 높습니다.

는 다음과 같은 일을하고, 직각에 대한 별도의 점수를 계산 : -

if (height > width) { 
    result = (width/height) * max_points_for_squareness; 
} else { 
    result = (height/width) * max_points_for_squareness; 
} 

그래서 그 두 측면 사이에 당신은 당신이 원하는대로 총 점수를 배포하는 데 사용할 수있는 두 비율을 얻을 수 (당신은 할 수 원하는 경우 직각도에 더 많은 포인트를 할당하거나 이미지 크기를 늘리십시오.

+0

좋은 접근과지도. 나는 질문이있다. 왜 모든 이미지를 가장 큰 이미지와 비교합니까? –

+0

백분율 점수를 얻기 위해서. 따라서 가장 큰 이미지 인 이미지를 고쳐야하며 더 작은 이미지 크기를 더 큰 이미지 크기로 나눈 다음 * 100으로 백분율을 지정하십시오. 그렇게하면 일관된 범위 (0-100)로 작업 할 수 있으며, 전체 크기에 대한 정확한 양을 지정하여 직각도 점수와 관련하여 이미지 크기에 대한 채점을 유지할 수 있습니다. 100을 사용하지 않아도됩니다. 이미지 크기에 편향을 원한다면 승수에 더 높은 숫자를 사용할 수 있습니다. –