import os import object_detection path = "D:\_test\control_set_01_02_positive" number_of_images = 0 detected = 0 with open("test_res_pos.txt", "w") as f: for file in os.listdir(path): number_of_images += 1 if "люди" in object_detection.get_keywords(os.path.join(path, file)): detected += 1 print("{0} % detected ({1} from {2})".format( int(detected / number_of_images * 1000) / 10, detected, number_of_images)) f.write("{0}\t{1}\t{2}\n".format( int(detected / number_of_images * 1000) / 10, detected, number_of_images))
def analyze(self, _=None): # Recreate frame with results to clean up previous data self.frame_results.destroy() self.frame_results = ttk.Frame(master=self.frame_main, padding=5) self.frame_results.grid(row=1, column=0) # Dictionary to combine results of all analysis types together self.results = {} self.ch_btn_addr_values = {} self.ch_btn_kw_values = {} photo = self.photo_for_analysis[self.current_photo_ix] if self.ch_btn_geo_an_value.get() == "True": msg = self.show_msg(get_name("msg_run_geo_an")) # Get results of geo-analysis self.results.update(geo_tags.get_geo_tags_in_iptc_format(photo)) msg.destroy() # Display header for address info only if we have found address (have got non-empty result) if self.results: self.ch_btn_address_info_value = StringVar() self.ch_btn_address_info_value.set(1) self.ch_btn_address_info = ttk.Checkbutton(master=self.frame_results, text=get_name("address_info"), variable=self.ch_btn_address_info_value, command=self.ch_btn_address_handler) self.ch_btn_address_info.pack(fill=X, anchor=W) self.frame_address_info = ttk.Frame(master=self.frame_results, padding=(7, 0)) self.frame_address_info.pack(fill=X) self.ch_btn_addr = [] for name in sorted(self.results): # Skip keywords here, they will be displayed later if name == "keywords": continue self.ch_btn_addr_values[name] = StringVar() self.ch_btn_addr_values[name].set(1) self.ch_btn_addr.append(ttk.Checkbutton(master=self.frame_address_info, text=self.results[name], variable=self.ch_btn_addr_values[name])) self.ch_btn_addr[-1].grid(row=len(self.ch_btn_addr) - 1, column=0, sticky=W) if self.ch_btn_obj_detect_an_value.get() == "True": msg = self.show_msg(get_name("msg_run_obj_detect_an")) # Get results of object detection if "keywords" in self.results: self.results["keywords"].extend(object_detection.get_keywords(photo)) else: self.results["keywords"] = object_detection.get_keywords(photo) msg.destroy() if self.ch_btn_project_an_value.get() == "True" and self.project_keywords is not None: if "keywords" in self.results: self.results["keywords"].extend(self.project_keywords) else: self.results["keywords"] = self.project_keywords # If we have key "keywords" and keywords list is not empty if "keywords" in self.results and self.results["keywords"]: self.results["keywords"] = list(set(self.results["keywords"])) self.ch_btn_keywords_value = StringVar() self.ch_btn_keywords_value.set(1) self.ch_btn_keywords = ttk.Checkbutton(master=self.frame_results, text=get_name("keywords"), variable=self.ch_btn_keywords_value, command=self.ch_btn_keywords_handler) self.ch_btn_keywords.pack(fill=X, anchor=W) self.frame_keywords = ttk.Frame(master=self.frame_results, padding=(7, 0)) self.frame_keywords.pack(fill=X) self.ch_btn_kw = [] for kw in self.results["keywords"]: self.ch_btn_kw_values[kw] = StringVar() self.ch_btn_kw_values[kw].set(1) self.ch_btn_kw.append(ttk.Checkbutton(master=self.frame_keywords, text=kw, variable=self.ch_btn_kw_values[kw])) self.ch_btn_kw[-1].grid(row=len(self.ch_btn_kw) - 1, column=0, sticky=W)
import os import object_detection path = "D:\_test\control_set_01_02_positive" number_of_images = 0 detected = 0 with open("test_res_pos.txt", "w") as f: for file in os.listdir(path): number_of_images += 1 if "люди" in object_detection.get_keywords(os.path.join(path, file)): detected += 1 print("{0} % detected ({1} from {2})".format(int(detected/number_of_images*1000)/10, detected, number_of_images)) f.write("{0}\t{1}\t{2}\n".format(int(detected/number_of_images*1000)/10, detected, number_of_images))