| ||||||
Короче мужики такое дело выделение значимой детали на фотографии привлечение внимания к сюжетно важному объекту
снимка, Фиксация перципиента на: и все такое растакое прочее:.
И что это угораздило меня это вывалить? Ну положим никто про это особо и не шумел.
А если и писали так такое, что и читать не стоит.
|
Ну это вот фотоспышка хреновато конечно но зато если у вас получше будет деловое предложение...
совмещение
исходник
ну еще немного поразмываем
|
---|
Ну так вот некоторые не будем говорить кто говорят что мол и фотошопои их можно в?делять
ХИСТОРИ
|
|
|
void __fastcall TForm1::SpeedButton1Click(TObject *Sender) { int gp=TrackBar3->Position+2;//ну это типа размер квадратика для опознавания чем больше тем точнее но сами понимаете краевой эффект посильнее будет AnsiString cs,cs6; AnsiString s,sr,sg,sb; int fncolor_r[32][32]; int fncolor_g[32][32]; int fncolor_b[32][32]; //масивчики и стринги да сохранения всякой промежеточной ерунды int ip1=TrackBar1->Position-(TrackBar1->Max/2); int ip2=TrackBar2->Position-(TrackBar2->Max/2); //сдвиги фотки вверх и вбок в упор забыл что где float C2; //Флоат int color_r; int color_b; int color_g; int sumcolor_r=0; int sumcolor_b=0; int sumcolor_g=0; int szcolor_r=0; int szcolor_b=0; int szcolor_g=0; int maxcolor_r=0; int maxcolor_b=0; int maxcolor_g=0; int maxcolor_rx=0; int maxcolor_bx=0; int maxcolor_gx=0; int maxcolor_ry=0; int maxcolor_by=0; int maxcolor_gy=0; int mcolor_r[32][32]; int mcolor_g[32][32]; int mcolor_b[32][32]; int fn3color_r[32][32]; int fn3color_g[32][32]; int fn3color_b[32][32]; int kx; int ky; int dp=256/(gp*gp); int jp=gp*gp; div_t r1; div_t r2; div_t r3; float C1; //ну это не важно просто принято так писать for (int ipw=0;ipwэто ответ одному мену он просил подробности и что же мне надо думаю и вам они будут не лишниHeight-gp;ipw++){//шарим перыю фотку по высоте for (int ipg=0;ipg Width-gp ;ipg++){//потом по ширине for (int w=0;w Canvas->Pixels[kx+ip1][ky+ip2]; r1=div(C1,256); //Ну это мы цвета разделяем можно конечно сдвигами у меня с ними вроде как проблем нет но у вас могут и быть поэтому ну их на: r3=div(C1,256*256); r2=div(C1-(r3.quot*256*256),256); color_r=r1.rem; color_g=r2.quot; color_b=r3.quot; mcolor_r[w][g]=color_r; mcolor_g[w][g]=color_g; mcolor_b[w][g]=color_b; sumcolor_r=sumcolor_r+color_r;//складываем все красные цвета чтоб потом найти средний красный по этому квадратику sumcolor_g=sumcolor_g+color_g; //складываем все зеленые цвета чтоб потом найти средний зеленый по этому квадратику sumcolor_b=sumcolor_b+color_b; //складываем все синие цвета чтоб потом найти средний синий по этому квадратику } } sumcolor_r=sumcolor_r/jp; sumcolor_b=sumcolor_b/jp; sumcolor_g=sumcolor_g/jp; //и нашли ведь! for (int w=0;w 0)fncolor_r[w][g]=0; else fncolor_r[w][g]=1; if((sumcolor_g-mcolor_g[w][g])>0)fncolor_g[w][g]=0; else fncolor_g[w][g]=1; if((sumcolor_b-mcolor_b[w][g])>0)fncolor_b[w][g]=0; else fncolor_b[w][g]=1; //значит так если больше среднего то 1 если меньше то ноль можно и целым делением у меня с ним проблем не у вас могут и быть. } } for (int w=0;w Canvas->Pixels[kx][ky]; r1=div(C1,256); r3=div(C1,256*256); r2=div(C1-(r3.quot*256*256),256); color_r=r1.rem; color_g=r2.quot; color_b=r3.quot; mcolor_r[w][g]=color_r; mcolor_g[w][g]=color_g; mcolor_b[w][g]=color_b; sumcolor_r=sumcolor_r+color_r; sumcolor_b=sumcolor_b+color_g; sumcolor_g=sumcolor_g+color_b; } } sumcolor_r=sumcolor_r/jp; sumcolor_b=sumcolor_b/jp; sumcolor_g=sumcolor_g/jp; for (int w=0;w 0)fn3color_r[w][g]=0; else fn3color_r[w][g]=1; if((sumcolor_g-mcolor_r[w][g])>0)fn3color_g[w][g]=0; else fn3color_g[w][g]=1; if((sumcolor_b-mcolor_r[w][g])>0)fn3color_b[w][g]=0; else fn3color_b[w][g]=1; } } szcolor_r=0; //Сравниваем короче эти самые квадратики по точкам szcolor_b=0; szcolor_g=0; for (int w=0;w State)Memo1->Lines->Add(IntToStr(ipg)+","+IntToStr(ipw)+","+cs6); Image3->Canvas->Pixels[ipg][ipw]=StringToColor(cs6); //Ну там это в текстовый файл мало ли что: } } //двигаем и повторяем } Image3->Picture->SaveToFile(Edit1->Text); if(CheckBox1->State)Memo1->Lines->SaveToFile(Edit1->Text+".txt"); //Жапоминаем } //По моему так проще некуда.
Здраствуйте Алексей и прстите за орфографию.
описываю...я получаю файл с кординатами XYZ и цветами точек по направлению съемки. на это дело у меня уходит очень большой ресурс ну просто очень и очень большой. и по времени (написание програмного кода) и на саму работу программы.
Один снимок это где-то 20-100 часов считанины причем требуется мое непосредственное участие для того чтобы помочь программе выйти из ситуаций в которые она вляпывается потому как код кривой, а написать лучьший уйдет ну так гдето лет 600 если при этом еще иметь группу человек в 50.
итак варианты