Switch to full style
Coloque aqui todas as dúvidas que tiver sobre hiperbolóides, hipérboles, parabolóides, parábolas, planos, rectas e outras equações tridimensionais
Responder

[Programação]calcular caixa delimitadora

15 abr 2012, 14:35

Olá a todos.
eu ja fiz essa pergunta em diversos fóruns sobre programação.
mas infelizmente ninguem soube responder.

eu estou tentando calcular a caixa delimitadora, ou como chamamos em programação o bounding box de uma imagem.

para ser mais claro aqui esta uma imagem
Imagem

o retangulo verde é o boundig box, esse retangulo serve como referencia para saber a area maxima que a imagem usa quando transformada, ou seja, quando o angulo é alterado esse bounding box tbm é alterado.
esse é o bounding box padrão. ou seja esse é o que eu quero.

estou tentando fazer esse bounding box matematicamente.
estou usando esta equação para calcular o bounding box de uma imagem

x1 =(sw * abs(cos(degtorad(image_angle))) + sh * abs(sin(degtorad(image_angle))))*-.5
x2 =(sw * abs(cos(degtorad(image_angle))) + sh * abs(sin(degtorad(image_angle))))*.5
y1 =(sw * abs(sin(degtorad(image_angle))) + sh * abs(cos(degtorad(image_angle))))*-.5
y2 =(sw * abs(sin(degtorad(image_angle))) + sh * abs(cos(degtorad(image_angle))))*.5

quem ainda estiver com duvidas, aqui esta o executavel da aplicação

http://dl.dropbox.com/u/61491349/Fairu/BoundingBox.exe

se precisarem de mais informações sobre os elementos visto acima, é só dizer.
Anexos
BoundingBox.png
BoundingBox.png (28.51 KiB) Visualizado 3643 vezes

Re: [Programação]calcular caixa delimitadora

15 abr 2012, 22:22

Bem-vindo ao fórum :)

Segue resposta em anexo

Qualquer dúvida diga...

Não garanto que esteja certo (posso ter tido algum erro de cálculo)

Saudações nipónicas :)
Anexos
box.jpg

Re: [Programação]calcular caixa delimitadora

15 abr 2012, 22:55

Muito Obrigado!

funcionou.

porem eu explorei um pouco mais, e vi que tem só mais um erro.

agora esta calculando o bounding box perfeitamente.
porem, quando eu mudo o eixo da imagem, o bounding box n consegue acompanhar.
Imagem

o retangulo vermelho é o resultado matematico do meu bounding box
o retangulo verde é o bounding box padrão.

eu devo usar trigonometria para que o bbox vermelho fique de acordo com o verde?

a aplicação com a nova formula
http://dl.dropbox.com/u/61491349/Fairu/BoundingBox2.exe

Re: [Programação]calcular caixa delimitadora

16 abr 2012, 10:43

Agora é só uma questão de deslocamento...

Já tem a área, tem agora apenas que achar as coordenadas do boundingbox sabendo as coordenadas da box

PS: Coloque as imagens em anexo

Cumprimentos

Re: [Programação]calcular caixa delimitadora

26 set 2014, 11:14

Para calcular o boundig box basta saber dois pontos opostos na box. Para isso calcula-se os máximos e mínimos no eixo x e y que a imagem ocupa. O mínimo em x e y é um ponto o outro ponto é o máximo em x e y.
Responder