UTNianos

Versión completa: Animaladas de código
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
(02-07-2012 17:00)shadow_mx escribió: [ -> ]Es tan largo el codigo que el foro me lo corto xD

asi estaba telefonica de españa JAJAJAJA ....

de paso, en el servidor de Ultima Online que tenemos con la comunidad, la carpeta de scripts (texto plano) pesa 20 megas xD JAJAJAJJA el fileseek se convirtio en mi mejor amigo (los scripts son una mezcla de algo raro con bash, y estas ultra acotado porque no podes definir absolutamente ningun tipo de objeto nuevo, clase ni nada en lo absoluto, el unico objeto con el que podes laburar tiene aprox 6 slots para guardar info xD y de ahi a hacer milagros JAJAJAJA)

aca la biblia:
http://wiki.sphere.torfo.org/index.php/Main_Page



___________________________________________________________________________


y esto lo hice la noche anterior a entregarlo despues de pasar 3 semanas durmiendo 3 hs por dia JAJAJJAJA


vector<int> Coperador::buscarPares()
{
int longitud = (int)(st_obj.Descriptors->elem_size/sizeof(float));
cv::Mat matObj(st_obj.Descriptors->total, longitud, CV_32F);
cv::Mat matImg(st_img.Descriptors->total, longitud, CV_32F);
CvSeqReader objReader;
float* obj_ptr = matObj.ptr<float>(0);
cvStartReadSeq( st_obj.Descriptors, &objReader );
for(int i = 0; i < st_obj.Descriptors->total; i++ )
{
const float* descriptor = (const float*)objReader.ptr;
CV_NEXT_SEQ_ELEM( objReader.seq->elem_size, objReader );
memcpy(obj_ptr, descriptor, longitud*sizeof(float));
obj_ptr += longitud;
}

CvSeqReader imgReader;
float* img_ptr = matImg.ptr<float>(0);
cvStartReadSeq( st_img.Descriptors, &imgReader );
for(int i = 0; i < st_img.Descriptors->total; i++ )
{
const float* descriptor = (const float*)imgReader.ptr;
CV_NEXT_SEQ_ELEM( imgReader.seq->elem_size, imgReader );
memcpy(img_ptr, descriptor, longitud*sizeof(float));
img_ptr += longitud;
}

cv::Mat m_indices(st_obj.Descriptors->total, 2, CV_32S);
cv::Mat m_dists(st_obj.Descriptors->total, 2, CV_32F);
cv::flann::Index flann_index(matImg, cv::flann::KDTreeIndexParams(4));
flann_index.knnSearch(matObj, m_indices, m_dists, 2, cv::flann::SearchParams(64) );
int* indices_ptr = m_indices.ptr<int>(0);
float* dists_ptr = m_dists.ptr<float>(0);
vector<int> pares;

for (int i=0;i<m_indices.rows;++i)
{
if (dists_ptr[2*i]<0.6*dists_ptr[2*i+1])
{
pares.push_back(i);
pares.push_back(indices_ptr[2*i]);
}
}
return pares;

}


Tiene un bruto memory leak, pero nunca nadie se entero =P

declare @fecha varchar(50)
declare @desde1 datetime
declare @desde2 datetime
declare @desde3 datetime
declare @Hasta1 datetime
declare @Hasta2 datetime
declare @Hasta3 datetime
declare @contador tinyint
set @contador = 1

declare Bases cursor for
select value AS UnconvertedDateTime from dbo.Split(@filtro, ',')

open Bases
fetch next from Bases into @fecha
while @@fetch_status = 0
begin
if (@contador =1)
begin
select @desde1 = convert(datetime,@fecha,103)
end
if (@contador =3)
begin
select @desde2 = convert(datetime,@fecha,103)
end
if (@contador =5)
begin
select @desde3 = convert(datetime,@fecha,103)
end
if (@contador =2)
begin
select @hasta1 = DateAdd(day, 1, convert(datetime,@fecha,103))
end
if (@contador =4)
begin
select @hasta2 = DateAdd(day, 1, convert(datetime,@fecha,103))
end
if (@contador =6)
begin
select @hasta3 = DateAdd(day, 1, convert(datetime,@fecha,103))
end

set @contador = @contador + 1

fetch next from Bases into @fecha
end
close Bases
deallocate Bases




digo, no.
No era mejor pasar las 6 fechas por parametro ?


recibe una cosa asi xD

Cita:',16-07-2011,26-07-2011,16-07-2012,24-07-2012'
no es una animalada, es mas bien una perlita que me encontre por ahi:


$formWidth -= 0;

Supuestamente funciona mas rapido que usar un parser, pero segun "La Gente Que Sabe" es una animalada esto:
Con ustedes...

Spoiler: Mostrar

The Infamous Mail::RFC822::Address Monstrosity. Una regex de 82 lineas (matchea contra una direccion de mail "válida").

http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html


Aparentemente, se usa porque PERL se lo banca.Y porque es rápido.
La RFC882 es realmente una mounstruosidad. Uno dice "ah, un regex para un mail, que facil que debe ser eso"... pero si te pones a ver todas las posibilidades que acepta el bnf de nombre de mails, es un dolor de huevos. (incluso, recuerdo que aceptan nombres que si bien son "validos", muchos servidores de mails no lo aceptan)


#define LIMIT(x) ( (x) > 0xffff ? 0xff : ( (x) <= 0xff ? 0 : ( (x) >> 8 ) ) ) //SI X>65535 X=255 || SI 255=>X>65535 = 0 || SINO lo multiplico por 32


//Descomprime macropixel de 4 Bytes(YUYV: 2 Bytes por pixel) a Pixel normal de 3Bytes(RGB, BGR lo hago con OpenCV mas adelante)
// Y U Y V = R0G0B0 + R1G1B1
// macroPx = macropx descompuesto

// ---U--- ---V--- ---Y--- <<<---- Valores para Y, U & V
// BLANCO 125-127 125-127 255 <- En RGB blanco y negro, los 3 bytes igualados a su maxima o minima representacion
// NEGRO 125-127 125-127 0
// GRIS 125-127 125-127 125-127 <- En RGB, los valores de los bytes generan gris, siempre y cuando esten igualdos,
// , si se modifica su valor, generan diferentes tonos, 255 grises posibles
// ROJO 0 255 0(varia)
// VERDE 0 0 0(varia)
// AZUL 255 125 0(varia)
// AMARILLO 0 125 255
// VIOLETA 255 255 0(varia)
// ^
// Colores

//Negar imagen: =((X-128)*-1)+125
//Dibujar en buffer=((768*2*(536-(y+1))+(1240+(x*2)));
void YUYVtoRGB24(int width, int height, unsigned char *src, unsigned char *dst)
{
int line, col, linewidth;
int y, yy;
int u, v;
int vr, ug, vg, ub;
int r, g, b;
unsigned char *py, *pu, *pv;
linewidth = width - (width >> 1); //SARASA DE CORRIMIENTOS (no da para usar aritmetica, uso >>)
//al ser macropixel, el ancho, en realidad es el doble...
//si el buffer de la imagen, tiene de width, ej:
// 768 -> maximo width posible de capturadoras convencionales
// x 2
// -------
// 1536 ----> width con el que viene representado YUYV

py = src+((height-1)*width*2); //PY ES IGUAL AL CONTENIDO DE SRC CORRIDO EN (height-1)*width*2
pu = py + 1; ///PU ES PY +1
pv = py + 3; //PV ES PY +3 HAY 2 DE DIF ENTRE PU Y PV
y = *py; //CARGO EN Y LO QUE APUNTA PY
yy = y << 8; //CORRO A Y EN 8 Y LO ASIGNO A YY
u = *pu - 128; //U es like pequeña escala
ug = 88 * u;
ub = 454 * u;
v = *pv - 128; //IGUAL QUE CON U PERO CON V
vg = 183 * v;
vr = 359 * v;
for (line = height-20; line >= 0; line--) //ME MUEVO POR LAS FILAS
{
py = src+(line*width*2); //MUEVO PY, PU y PV RESPECTIVAMENTE
pu = py + 1;
pv = py + 3;

for (col = 0; col < width; col++) //ME MUEVO POR COLUMNAS
{
// ACA VIENE LA FUCKING MAGIA! copperfield!
r = LIMIT(yy + vr); //obtengo los valores de R red
g = LIMIT(yy - ug - vg); //G green
b = LIMIT(yy + ub ); //B blue
*dst++ = b; //asigno b a donde apunta dst y me muevo en 1
*dst++ = g; //asigno g adonde apunta dst y me muevo en 1
*dst++ = r; //asigno r a donde apunta dst y me muevo en 1
py += 2; //INCREMENTO PY EN 2 (para completar el macropixel)
y = *py; //REFRESCO VALOR DE Y
yy = y << 8; //VUELVO A CORRER Y EN 8
if ( (col & 1) == 1) {
pu += 4; // salto yvy cada dos y
pv += 4; // salto yuy cada dos y (macropixel, sino pierdo, voy corriendo error de convercion)
// esto pasas en todos los primeros macropixeles de la imagen -.-
// fucking hippies
}
u = *pu - 128; //Sigo acomodando los putos valores de crominancia
ug = 88 * u; // y luminancia al espectro de RGB
ub = 454 * u;
v = *pv - 128;
vg = 183 * v;
vr = 359 * v;
} // ..for col
} /* ..for line */
}



Simplemente, magia, magia por todos lados.
Los nombres menos descriptivos que vi en la vida.
Posta,media pila que son peor que los mios, sebas.=P.
Boludo, los bytes se llaman Y ; U ; Y ; V

el puntero a Y: py.
el puntero a V: pv.
el puntero a U: pu.

el valor de RGB relativo a u o v: ur, ug, ub, vr, vg, vb....

el buffer de origen == src, el de destino dst....

No se que nombre queres que le ponga...

algo como
int byteMacroPixelDeY = 0;
int * punteroByteMacroPixelDeY = NULL;

asi mejor?

http://es.wikipedia.org/wiki/YUV

http://www.fourcc.org/yuv.php


esa funcion es perfecta y tarda practicamente nada en convertir un espectro de imagen en otro, de un sistema de representacion del año del pedo, comprimido y aprejado, a RGB.... ¬¬


igual te quiero =P
meh, cosas de electronicos...
esta gente que programa en php...
y si funciona perfecto

la animalada ?

hacete un topic para mostrar codigo del que estemos orgullosos (?)
Cita:Boludo, los bytes se llaman Y ; U ; Y ; V

el puntero a Y: py.
el puntero a V: pv.
el puntero a U: pu.

Claro, que representa el "Y" y el "U"? No se llaman asi de la nada.
Igual a uno podes ponerle, nose Yvalue y al otro Y.
O sino Y y al otro Ypointer o Yreference.

Igual deja de quejarte,tu codigo anda, putito.

Cita:igual te quiero =P

Haceme tuya,sebas.
Casteame, casteame y decime void.
1)

Si rulo, se llaman asi a secas... antes cuando no existia gente de sistemas, la gente hacia las cosas simples y facil de recordar...

cito:

Cita:El modelo YUV define un espacio de color en términos de una componente de luminancia y dos componentes de crominancia. El modelo YUV es usado en los sistemas PAL y NTSC de difusión de televisión, el cual es el estándar en la mayoría del mundo.

El modelo YUV está más próximo al modelo humano de percepción que el estándar RGB usado en el hardware de gráficos por ordenador, pero no tan cerca como el espacio de color HSL y espacio de color HSV.


Las siguientes ecuaciones se usan para calcular Y, U y V a partir de R, G y B:
Y = 0,299 R + 0,587 G + 0,114 B
U = 0,492 (B - Y)
= -0,147 R - 0,289 G + 0,436 B
V = 0,877 (R - Y)
= 0,615 R - 0,515 G - 0,100 B


2)

ASSERT(lovingRulo)

toda la noche!

te casteo el puntero a void al tipo de dato que quieras rulo! AL QUE QUIERAS!
(30-08-2012 20:30)gonnza escribió: [ -> ]y si funciona perfecto

la animalada ?

hacete un topic para mostrar codigo del que estemos orgullosos (?)

ahhhhhhhhhhhhhh entendi el thread para el culo JAJAJAJJA entendi el animalada no como algo malo, sino como algo animalado, sea malo o bueno =P

okas, de ahora en mas subo cosas animaladas, pero malas, de esas me sobran JAJAJAJJAJA
(17-08-2012 12:34)Jarry escribió: [ -> ]no es una animalada, es mas bien una perlita que me encontre por ahi:


$formWidth -= 0;




using System;

class Program
{
static void Main()
{
int x = 0;
x = x++;
Console.WriteLine(x);
}
}



no compila nunca
bu
encontre un bug (?)
ahi compilo...


x = x++;


really?
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
URLs de referencia