deal_cutout.py 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import time
  2. from concurrent.futures import as_completed, ThreadPoolExecutor, wait
  3. import threading
  4. from .remove_bg_pixian import RemoveBgPiXian
  5. from .other.module_online_data import GetOnlineData
  6. from .deal_one_image import DealOneImage, DealOneImageBeforehand
  7. from .other.log import MyLogger
  8. class DealCutout:
  9. def __init__(self):
  10. super().__init__()
  11. self.lock = threading.Lock()
  12. self.need_cutout_images = {}
  13. self.state = 2 # 1进行中 2停止
  14. self.get_online_data = GetOnlineData()
  15. self.is_upload_pic_num = 0
  16. self.is_deal_num = 0
  17. self.output_type = 0
  18. # 图片列表
  19. self.upload_pic_dict = {}
  20. self.logger = MyLogger().logger
  21. def startDispose(self):
  22. self.get_online_data.refresh_headers()
  23. num = 0
  24. result_array = []
  25. for image_data in self.need_cutout_images:
  26. num += 1
  27. upload_pic_dict = {}
  28. upload_pic_dict = DealOneImageBeforehand(
  29. image_data=image_data, lock=self.lock, windows=self, num=num
  30. ).run(upload_pic_dict)
  31. result = DealOneImage(
  32. image_data=image_data, lock=self.lock, windows=self, num=num
  33. ).run(image_data, upload_pic_dict)
  34. result_array.append(result)
  35. return result_array
  36. def normalMode(self):
  37. """普通模式"""
  38. self.get_online_data.refresh_headers()
  39. num = 0
  40. result_array = []
  41. for image_data in self.need_cutout_images:
  42. num += 1
  43. result = DealOneImageBeforehand(
  44. image_data=image_data, lock=self.lock, windows=self, num=num
  45. ).get_image_cut_noraml(image_data)
  46. result_array.append(result)
  47. return result_array
  48. class DealCloths:
  49. def __init__(self):
  50. super().__init__()
  51. self.lock = threading.Lock()
  52. self.need_cutout_images = {}
  53. self.output_type = 0
  54. self.state = 2 # 1进行中 2停止
  55. self.get_online_data = GetOnlineData()
  56. self.is_upload_pic_num = 0
  57. self.is_deal_num = 0
  58. # 图片列表
  59. self.upload_pic_dict = {}
  60. self.logger = MyLogger().logger
  61. def startDispose(self):
  62. self.get_online_data.refresh_headers()
  63. num = 0
  64. result_array = []
  65. for image_data in self.need_cutout_images:
  66. num += 1
  67. upload_pic_dict = {}
  68. hand = DealOneImageBeforehand(
  69. image_data=image_data, lock=self.lock, windows=self, num=num
  70. )
  71. upload_pic_dict = hand.get_image_cut_cloths(image_data)
  72. result_array.append(upload_pic_dict)
  73. return result_array