Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: Wangarad  20. 01. 2020, 20:10:13
		
			
			- 
				Zdravim.
 Zasekol som sa s kodom. V skratke nacitam obrazok pomocov opencv nasledne zmenim jeho velkost a pravdepodobe je chyba niekde tu.
 Takze najprv si zistim velkost celej obrazovky a vypocitam si kolko potrebujem.
 stream_screen_height = int(height2 / 100 * 70)
 stream_screen_width = int(width / 100 * 80)
Potom zmenim velkost obrazku
 dim = (screen_width_output_video_width  ,screen_height_output_video_height)
 frame = cv2.resize(frame, dim)
a nasledne pomocov PiSimpleGUI ho vykreslujem.
 if start_cammera==True:
 window.FindElement('image').Update(data=cv2.imencode('.png', processimage)[1].tobytes() )
 window.Refresh()
 Problem je ze obrazok sa "neroztiahne" do plneho okna ale vznikne mi toto. https://imgur.com/sIb14BE
 Preco sa to deje? Obrazok by mal byt presne podla okna a malo by byt jedno ake rozsirenie ma zdroj alebo nie?
 Myslim si ale nie je to na 100% ze, obrazok by sa mal roztiahnut aj keby bol "abstraktny" alebo nie?
 
 
 
 
- 
				Z těchto kousků kódu se nedá poznat, jestli je to vůbec špatně. Jaká je velikost okna? Co je height2,
 width, co je screen_width_output_video_width? Resizuje se frame, ale zobrazuje se jakejsi processimage.
 
 Mimochodem, co je "abstraktny" obrazok?
- 
				Petr Blahos : Ano naberiem frame na zaciatku ale neskorsie sa to preklapa do "processimage" - pretoze ten processimage sa pouziva dalej (vyhladavanie na internete, dalsi processing atd atd) a chcel som tam mat poriadok. 
 
 V podstate uz ked som sprocesoval frame chcem ho roztiahnut do toho okna.
 height2 a width je rozsirenie obrazovky nasledne odpocitas kolko zhruba potrebujes a to je vysledok pre kalkulaciu velkosty obrazku.
 
 Teda ked odmazem "vatu"
   
 dim = (screen_width_output_video_width  ,screen_height_output_video_height)
 processimage) = cv2.resize(frame, dim)
 window.FindElement('image').Update(data=cv2.imencode('.png', processimage)[1].tobytes() )
 
 abstraktny" obrazok - myslel som to tak ze sa obraz roztiahne do rozmeru okna aj za cenu deformacie.
 
 Alebo cela idea je zla od zaciatku a je potrebne zmenit velkost hned ako to zoberies s kamery?
 
 
- 
				Alebo cela idea je zla od zaciatku a je potrebne zmenit velkost hned ako to zoberies s kamery?
 
 
 Ne. Teď bych zkusil:
 
 print(window.FindElement('image').GetSize())
 print(dim)
 
 A to by mělo lecos napovědět.
 
- 
				Z Petrovy odpovědi ti mělo dojít, že nemůžeme tušit, kde máš jaké hodnoty a co všechno s tím děláš, a tyhle informace jsi měl doplnit.
 
 cv2.resize černé okraje nepřidává. Někde máš něco blbě. Hledej, šmudlo.
- 
				tecka : offtopic odpovede si nechaj na doma :)
 
 Petr Blahos
 - no a to je ten problem. To cislo je diametralne ine ako som dal pred resize a netusim preco. Poobede spravim este par pokusov. Zatial dakujem
- 
				Moje odpověď je naprosto ontopic. cv2.resize černé okraje nepřidává. Tečka.
 Problém je v kódu, který jsi neukázal. Tak dodej více informací.