def merge_image(image1, image2, mode="h", size=512, show=False, transpose=True): """ 拼接图片 :param image1: numpy array :param image2: numpy array :param mode: 'h': 横向拼接 'v': 纵向拼接 :param size: 输出分辨率 :param show: 窗口显示 :param transpose: 转置长和宽 cv2顺序[H, W, C] :return: numpy array """ size_ = (int(size / 2), int(size / 2)) img1_ = cv2.resize(image1, size_) img2_ = cv2.resize(image2, size_) if mode == 'h': image = np.append(img1_, img2_, axis=1) # (256, 512, 3) elif mode == 'v': image = np.append(img1_, img2_, axis=0) else: log.warn("not implements mode: %s".format(mode)) return if transpose: image = image.swapaxes(0, 1) if show: cv2.imshow("contact", image) cv2.waitKey() cv2.destroyAllWindows() return image
def close(self): """ close connect """ if self.open: log.warn("socket close") self._send('q', "-") # quit self.socket.close() self.open = False
def rm_dir(path): """ 清空文件夹 包含子文件夹 :param path: 文件夹路径 """ try: if os.path.exists(path): log.warn("rm directory %s", path) shutil.rmtree(path) else: log.warn("not exist directory: %s", path) except IOError as e: log.error("io error, load imitator failed ", e)
def _send(self, cmd, message): """ private method to send message :param message: message body """ if self.open: try: message = cmd + message self.socket.sendto(message.encode('utf-8'), self.bind) except Exception as e: log.error(e) raise else: log.warn("connect closed")
def clear_files(dir): """ 只清空文件 不清空子文件夹 如果文件夹不存在 则创建一个新的文件夹 :param dir: 文件夹路径 """ try: if os.path.exists(dir): for root, dirs, files in os.walk(dir, topdown=False): for name in files: os.remove(os.path.join(root, name)) else: log.warn("not exist directory: %s, create new", dir) os.mkdir(dir) except IOError as e: log.error("io error, load imitator failed {0}".format(e))
def clear_folder(dir): """ 清空文件夹 包含子文件夹 :param dir: 文件夹路径 """ try: if os.path.exists(dir): for root, dirs, files in os.walk(dir, topdown=False): for name in files: os.remove(os.path.join(root, name)) for name in dirs: os.rmdir(os.path.join(root, name)) else: log.warn("not exist directory: %s", dir) except IOError as e: log.error("io error, load imitator failed ", e)