Python cv2.imread() Examples
The following are 30
code examples of cv2.imread().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
cv2
, or try the search function
.
Example #1
Source File: datasets.py From pruning_yolov3 with GNU General Public License v3.0 | 8 votes |
def convert_images2bmp(): # cv2.imread() jpg at 230 img/s, *.bmp at 400 img/s for path in ['../coco/images/val2014/', '../coco/images/train2014/']: folder = os.sep + Path(path).name output = path.replace(folder, folder + 'bmp') if os.path.exists(output): shutil.rmtree(output) # delete output folder os.makedirs(output) # make new output folder for f in tqdm(glob.glob('%s*.jpg' % path)): save_name = f.replace('.jpg', '.bmp').replace(folder, folder + 'bmp') cv2.imwrite(save_name, cv2.imread(f)) for label_path in ['../coco/trainvalno5k.txt', '../coco/5k.txt']: with open(label_path, 'r') as file: lines = file.read() lines = lines.replace('2014/', '2014bmp/').replace('.jpg', '.bmp').replace( '/Users/glennjocher/PycharmProjects/', '../') with open(label_path.replace('5k', '5k_bmp'), 'w') as file: file.write(lines)
Example #2
Source File: histcomparison.py From pedestrian-haar-based-detector with GNU General Public License v2.0 | 8 votes |
def main(): imagePath = "img.jpg" img = cv2.imread(imagePath) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) generate_histogram(gray) cv2.imwrite("before.jpg", gray) gray = cv2.equalizeHist(gray) generate_histogram(gray) cv2.imwrite("after.jpg",gray) return 0
Example #3
Source File: detect.py From pedestrian-haar-based-detector with GNU General Public License v2.0 | 7 votes |
def main(): #IMG PATHS imagePath = "test3.jpg" cascPath = "cascades/haarcascade_pedestrian.xml" pplCascade = cv2.CascadeClassifier(cascPath) image = cv2.imread(imagePath) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray = normalize_grayimage(gray) pedestrians = pplCascade.detectMultiScale( gray, scaleFactor=1.2, minNeighbors=10, minSize=(32,96), flags = cv2.cv.CV_HAAR_SCALE_IMAGE ) print "Found {0} ppl!".format(len(pedestrians)) #Draw a rectangle around the detected objects for (x, y, w, h) in pedestrians: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) cv2.imwrite("saida.jpg", image) cv2.imshow("Ppl found", image) cv2.waitKey(0) return 0
Example #4
Source File: vaegan_mxnet.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 7 votes |
def get_data(path, activation): '''Get the dataset ''' data = [] image_names = [] for filename in os.listdir(path): img = cv2.imread(os.path.join(path,filename), cv2.IMREAD_GRAYSCALE) image_names.append(filename) if img is not None: data.append(img) data = np.asarray(data) if activation == 'sigmoid': data = data.astype(np.float32)/(255.0) elif activation == 'tanh': data = data.astype(np.float32)/(255.0/2) - 1.0 data = data.reshape((data.shape[0], 1, data.shape[1], data.shape[2])) np.random.seed(1234) p = np.random.permutation(data.shape[0]) X = data[p] return X, image_names
Example #5
Source File: data_loader.py From Face-skin-hair-segmentaiton-and-skin-color-evaluation with Apache License 2.0 | 7 votes |
def __getitem__(self, idx): images, masks = [], [] for (image_path, mask_path) in zip(self.image_path_list[idx * self.batch_size: (idx + 1) * self.batch_size], self.mask_path_list[idx * self.batch_size: (idx + 1) * self.batch_size]): image = cv2.imread(image_path, 1) mask = cv2.imread(mask_path, 0) image = self._padding(image) mask = self._padding(mask) # augumentation augmentation = self.transformer(image=image, mask=mask) image = augmentation['image'] mask = self._get_result_map(augmentation['mask']) images.append(image) masks.append(mask) images = np.array(images) masks = np.array(masks) images = pinput(images) return images, masks
Example #6
Source File: call_engine_to_infer_all_analysis_error_6classes.py From iAI with MIT License | 6 votes |
def load_image(img_path, net_input_shape): imgBGR = cv2.imread(img_path) img = cv2.resize(imgBGR, net_input_shape) # BGR -> RGB #img = img[:,:, (2, 1, 0)] ## Method 1 # imgT = np.transpose(img, (2, 0, 1)) # c,w,h # imgF = np.asarray(imgT, dtype=np.float32) # mean = [[[88.159309]], [[97.966286]], [[103.66106]]] # Caffe image mean # imgS = np.subtract(imgF,mean) ## Method 2 imgF = np.asarray(img, dtype=np.float32) mean = [128.0, 128.0, 128.0] # Caffe image mean # mean = [88.159309, 97.966286, 103.66106] # Caffe image mean imgSS = np.subtract(imgF, mean)/128.0 imgS = np.transpose(imgSS, (2, 0, 1)) # c,w,h # RGB_MEAN_PIXELS = np.array([88.159309, 97.966286, 103.66106]).reshape((1,1,1,3)).astype(np.float32) return imgBGR, np.ascontiguousarray(imgS, dtype=np.float32) # avoid error: ndarray is not contiguous
Example #7
Source File: datasets.py From pytorch-segmentation-toolbox with MIT License | 6 votes |
def __getitem__(self, index): datafiles = self.files[index] image = cv2.imread(datafiles["img"], cv2.IMREAD_COLOR) size = image.shape name = osp.splitext(osp.basename(datafiles["img"]))[0] image = np.asarray(image, np.float32) image -= self.mean img_h, img_w, _ = image.shape pad_h = max(self.crop_h - img_h, 0) pad_w = max(self.crop_w - img_w, 0) if pad_h > 0 or pad_w > 0: image = cv2.copyMakeBorder(image, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(0.0, 0.0, 0.0)) image = image.transpose((2, 0, 1)) return image, name, size
Example #8
Source File: exp13_user_dataset_high_API_1.py From LearningTensorflow with MIT License | 6 votes |
def __read__(file, label): image = cv2.imread(file.decode(), cv2.IMREAD_GRAYSCALE) image = np.expand_dims(image, 2) image = np.float32(image) / 255. return (image, label)
Example #9
Source File: datasets.py From pytorch-segmentation-toolbox with MIT License | 6 votes |
def __getitem__(self, index): datafiles = self.files[index] image = cv2.imread(datafiles["img"], cv2.IMREAD_COLOR) image = cv2.resize(image, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_LINEAR) size = image.shape name = osp.splitext(osp.basename(datafiles["img"]))[0] image = np.asarray(image, np.float32) image = (image - image.min()) / (image.max() - image.min()) img_h, img_w, _ = image.shape pad_h = max(self.crop_h - img_h, 0) pad_w = max(self.crop_w - img_w, 0) if pad_h > 0 or pad_w > 0: image = cv2.copyMakeBorder(image, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(0.0, 0.0, 0.0)) image = image.transpose((2, 0, 1)) return image, np.array(size), name
Example #10
Source File: voc0712.py From CSD-SSD with MIT License | 6 votes |
def pull_item(self, index): img_id = self.ids[index] target = ET.parse(self._annopath % img_id).getroot() img = cv2.imread(self._imgpath % img_id) height, width, channels = img.shape if self.target_transform is not None: target = self.target_transform(target, width, height) if self.transform is not None: target = np.array(target) img, boxes, labels = self.transform(img, target[:, :4], target[:, 4]) # to rgb img = img[:, :, (2, 1, 0)] # img = img.transpose(2, 0, 1) target = np.hstack((boxes, np.expand_dims(labels, axis=1))) return torch.from_numpy(img).permute(2, 0, 1), target, height, width # return torch.from_numpy(img), target, height, width
Example #11
Source File: minibatch.py From Collaborative-Learning-for-Weakly-Supervised-Object-Detection with MIT License | 6 votes |
def _get_image_blob(roidb, scale_inds): """Builds an input blob from the images in the roidb at the specified scales. """ num_images = len(roidb) processed_ims = [] im_scales = [] for i in range(num_images): im = cv2.imread(roidb[i]['image']) if roidb[i]['flipped']: im = im[:, ::-1, :] target_size = cfg.TRAIN.SCALES[scale_inds[i]] im, im_scale = prep_im_for_blob(im, cfg.PIXEL_MEANS, target_size, cfg.TRAIN.MAX_SIZE) im_scales.append(im_scale) processed_ims.append(im) # Create a blob to hold the input images blob = im_list_to_blob(processed_ims) return blob, im_scales
Example #12
Source File: call_engine_to_infer_all_print_predict_on_image_6classes.py From iAI with MIT License | 6 votes |
def load_image(img_path, net_input_shape): imgBGR = cv2.imread(img_path) img = cv2.resize(imgBGR, net_input_shape) # BGR -> RGB #img = img[:,:, (2, 1, 0)] ## Method 1 # imgT = np.transpose(img, (2, 0, 1)) # c,w,h # imgF = np.asarray(imgT, dtype=np.float32) # mean = [[[88.159309]], [[97.966286]], [[103.66106]]] # Caffe image mean # imgS = np.subtract(imgF,mean) ## Method 2 imgF = np.asarray(img, dtype=np.float32) mean = [128.0, 128.0, 128.0] # Caffe image mean # mean = [88.159309, 97.966286, 103.66106] # Caffe image mean imgSS = np.subtract(imgF, mean)/128.0 imgS = np.transpose(imgSS, (2, 0, 1)) # c,w,h # RGB_MEAN_PIXELS = np.array([88.159309, 97.966286, 103.66106]).reshape((1,1,1,3)).astype(np.float32) return imgBGR, np.ascontiguousarray(imgS, dtype=np.float32) # avoid error: ndarray is not contiguous
Example #13
Source File: objectDetectorYOLO.py From Traffic_sign_detection_YOLO with MIT License | 6 votes |
def processFrames(self): try: for img in self.anotations_list: img = img.split(';') # print(img) # ret,imgcv = cap.read() if self.video: ret,imgcv = self.cap.read() else: imgcv = cv2.imread(os.path.join('../',self.config["dataset"],img[0])) result = self.tfnet.return_predict(imgcv) print(result) imgcv = self.drawBoundingBox(imgcv,result) cv2.imshow('detected objects',imgcv) if cv2.waitKey(10) == ord('q'): print('exitting loop') break except KeyboardInterrupt: cv2.destroyAllWindows() print('exitting program')
Example #14
Source File: edge_smooth.py From CartoonGAN-Tensorflow with MIT License | 6 votes |
def make_edge_smooth(dataset_name, img_size) : check_folder('./dataset/{}/{}'.format(dataset_name, 'trainB_smooth')) file_list = glob('./dataset/{}/{}/*.*'.format(dataset_name, 'trainB')) save_dir = './dataset/{}/trainB_smooth'.format(dataset_name) kernel_size = 5 kernel = np.ones((kernel_size, kernel_size), np.uint8) gauss = cv2.getGaussianKernel(kernel_size, 0) gauss = gauss * gauss.transpose(1, 0) for f in tqdm(file_list) : file_name = os.path.basename(f) bgr_img = cv2.imread(f) gray_img = cv2.imread(f, 0) bgr_img = cv2.resize(bgr_img, (img_size, img_size)) pad_img = np.pad(bgr_img, ((2, 2), (2, 2), (0, 0)), mode='reflect') gray_img = cv2.resize(gray_img, (img_size, img_size)) edges = cv2.Canny(gray_img, 100, 200) dilation = cv2.dilate(edges, kernel) gauss_img = np.copy(bgr_img) idx = np.where(dilation != 0) for i in range(np.sum(dilation != 0)): gauss_img[idx[0][i], idx[1][i], 0] = np.sum( np.multiply(pad_img[idx[0][i]:idx[0][i] + kernel_size, idx[1][i]:idx[1][i] + kernel_size, 0], gauss)) gauss_img[idx[0][i], idx[1][i], 1] = np.sum( np.multiply(pad_img[idx[0][i]:idx[0][i] + kernel_size, idx[1][i]:idx[1][i] + kernel_size, 1], gauss)) gauss_img[idx[0][i], idx[1][i], 2] = np.sum( np.multiply(pad_img[idx[0][i]:idx[0][i] + kernel_size, idx[1][i]:idx[1][i] + kernel_size, 2], gauss)) cv2.imwrite(os.path.join(save_dir, file_name), gauss_img)
Example #15
Source File: voc07_consistency_init.py From CSD-SSD with MIT License | 6 votes |
def pull_item(self, index): img_id = self.ids[index] target = ET.parse(self._annopath % img_id).getroot() img = cv2.imread(self._imgpath % img_id) height, width, channels = img.shape if self.target_transform is not None: target = self.target_transform(target, width, height) if self.transform is not None: target = np.array(target) img, boxes, labels = self.transform(img, target[:, :4], target[:, 4]) # to rgb img = img[:, :, (2, 1, 0)] # img = img.transpose(2, 0, 1) target = np.hstack((boxes, np.expand_dims(labels, axis=1))) if(img_id[0][(len(img_id[0]) - 7):]=='VOC2007'): semi = np.array([1]) else: semi = np.array([0]) target = np.zeros([1, 5]) return torch.from_numpy(img).permute(2, 0, 1), target, height, width, semi # return torch.from_numpy(img), target, height, width
Example #16
Source File: utils.py From pruning_yolov3 with GNU General Public License v3.0 | 6 votes |
def crop_images_random(path='../images/', scale=0.50): # from utils.utils import *; crop_images_random() # crops images into random squares up to scale fraction # WARNING: overwrites images! for file in tqdm(sorted(glob.glob('%s/*.*' % path))): img = cv2.imread(file) # BGR if img is not None: h, w = img.shape[:2] # create random mask a = 30 # minimum size (pixels) mask_h = random.randint(a, int(max(a, h * scale))) # mask height mask_w = mask_h # mask width # box xmin = max(0, random.randint(0, w) - mask_w // 2) ymin = max(0, random.randint(0, h) - mask_h // 2) xmax = min(w, xmin + mask_w) ymax = min(h, ymin + mask_h) # apply random color mask cv2.imwrite(file, img[ymin:ymax, xmin:xmax])
Example #17
Source File: datasets.py From pytorch-segmentation-toolbox with MIT License | 6 votes |
def __getitem__(self, index): datafiles = self.files[index] image = cv2.imread(datafiles["img"], cv2.IMREAD_COLOR) label = cv2.imread(datafiles["label"], cv2.IMREAD_GRAYSCALE) label = self.id2trainId(label) size = image.shape name = datafiles["name"] if self.scale: image, label = self.generate_scale_label(image, label) image = np.asarray(image, np.float32) image -= self.mean img_h, img_w = label.shape pad_h = max(self.crop_h - img_h, 0) pad_w = max(self.crop_w - img_w, 0) if pad_h > 0 or pad_w > 0: img_pad = cv2.copyMakeBorder(image, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(0.0, 0.0, 0.0)) label_pad = cv2.copyMakeBorder(label, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(self.ignore_label,)) else: img_pad, label_pad = image, label img_h, img_w = label_pad.shape h_off = random.randint(0, img_h - self.crop_h) w_off = random.randint(0, img_w - self.crop_w) # roi = cv2.Rect(w_off, h_off, self.crop_w, self.crop_h); image = np.asarray(img_pad[h_off : h_off+self.crop_h, w_off : w_off+self.crop_w], np.float32) label = np.asarray(label_pad[h_off : h_off+self.crop_h, w_off : w_off+self.crop_w], np.float32) #image = image[:, :, ::-1] # change to BGR image = image.transpose((2, 0, 1)) if self.is_mirror: flip = np.random.choice(2) * 2 - 1 image = image[:, :, ::flip] label = label[:, ::flip] return image.copy(), label.copy(), np.array(size), name
Example #18
Source File: img_utils.py From tools_python with Apache License 2.0 | 6 votes |
def one_pic_to_video(image_path, output_video_path, fps, time): """ 一张图片合成视频 one_pic_to_video('./../source/1.jpeg', './../source/output.mp4', 25, 10) :param path: 图片文件路径 :param output_video_path:合成视频的路径 :param fps:帧率 :param time:时长 :return: """ image_clip = ImageClip(image_path) img_width, img_height = image_clip.w, image_clip.h # 总共的帧数 frame_num = (int)(fps * time) img_size = (int(img_width), int(img_height)) fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') video = cv2.VideoWriter(output_video_path, fourcc, fps, img_size) for index in range(frame_num): frame = cv2.imread(image_path) # 直接缩放到指定大小 frame_suitable = cv2.resize(frame, (img_size[0], img_size[1]), interpolation=cv2.INTER_CUBIC) # 把图片写进视频 # 重复写入多少次 video.write(frame_suitable) # 释放资源 video.release() return VideoFileClip(output_video_path)
Example #19
Source File: datasets.py From pytorch-segmentation-toolbox with MIT License | 6 votes |
def __getitem__(self, index): datafiles = self.files[index] image = cv2.imread(datafiles["img"], cv2.IMREAD_COLOR) size = image.shape name = osp.splitext(osp.basename(datafiles["img"]))[0] image = np.asarray(image, np.float32) image -= self.mean img_h, img_w, _ = image.shape pad_h = max(self.crop_h - img_h, 0) pad_w = max(self.crop_w - img_w, 0) if pad_h > 0 or pad_w > 0: image = cv2.copyMakeBorder(image, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(0.0, 0.0, 0.0)) image = image.transpose((2, 0, 1)) return image, name, size
Example #20
Source File: datasets.py From pytorch-segmentation-toolbox with MIT License | 6 votes |
def __getitem__(self, index): datafiles = self.files[index] image = cv2.imread(datafiles["img"], cv2.IMREAD_COLOR) label = cv2.imread(datafiles["label"], cv2.IMREAD_GRAYSCALE) size = image.shape name = datafiles["name"] if self.scale: image, label = self.generate_scale_label(image, label) image = np.asarray(image, np.float32) image -= self.mean img_h, img_w = label.shape pad_h = max(self.crop_h - img_h, 0) pad_w = max(self.crop_w - img_w, 0) if pad_h > 0 or pad_w > 0: img_pad = cv2.copyMakeBorder(image, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(0.0, 0.0, 0.0)) label_pad = cv2.copyMakeBorder(label, 0, pad_h, 0, pad_w, cv2.BORDER_CONSTANT, value=(self.ignore_label,)) else: img_pad, label_pad = image, label img_h, img_w = label_pad.shape h_off = random.randint(0, img_h - self.crop_h) w_off = random.randint(0, img_w - self.crop_w) # roi = cv2.Rect(w_off, h_off, self.crop_w, self.crop_h); image = np.asarray(img_pad[h_off : h_off+self.crop_h, w_off : w_off+self.crop_w], np.float32) label = np.asarray(label_pad[h_off : h_off+self.crop_h, w_off : w_off+self.crop_w], np.float32) #image = image[:, :, ::-1] # change to BGR image = image.transpose((2, 0, 1)) if self.is_mirror: flip = np.random.choice(2) * 2 - 1 image = image[:, :, ::flip] label = label[:, ::flip] return image.copy(), label.copy(), np.array(size), name
Example #21
Source File: test_image.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def test_resize_short(self): try: import cv2 except ImportError: return for img in TestImage.IMAGES: cv_img = cv2.imread(img) mx_img = mx.nd.array(cv_img[:, :, (2, 1, 0)]) h, w, _ = cv_img.shape for _ in range(3): new_size = np.random.randint(1, 1000) if h > w: new_h, new_w = new_size * h // w, new_size else: new_h, new_w = new_size, new_size * w // h for interp in range(0, 2): # area-based/lanczos don't match with cv2? cv_resized = cv2.resize(cv_img, (new_w, new_h), interpolation=interp) mx_resized = mx.image.resize_short(mx_img, new_size, interp) assert_almost_equal(mx_resized.asnumpy()[:, :, (2, 1, 0)], cv_resized, atol=3)
Example #22
Source File: utils.py From DeepLab_v3 with MIT License | 6 votes |
def image_channel_means(image_filenames): ''' Calculate the means of RGB channels in image dataset. Support extremely large images of different sizes and arbitrarily large number of images. image_filenames: list of image filenames ''' num_pixels = 0 channel_sums = np.zeros(3, dtype=object) for image_filename in tqdm(image_filenames): image = cv2.imread(image_filename) channel_sums += np.sum(image, axis=(0, 1)) num_pixels += np.prod(image.shape[:2]) channel_means = (channel_sums / num_pixels).astype(float) return channel_means
Example #23
Source File: main.py From ICDAR-2019-SROIE with MIT License | 6 votes |
def draw(): filenames = [os.path.splitext(f)[0] for f in glob.glob("for_task3/*.txt")] txt_files = [s + ".txt" for s in filenames] for txt in txt_files: image = cv2.imread('test_original/'+ txt.split('/')[1].split('.')[0]+'.jpg', cv2.IMREAD_COLOR) with open(txt, 'r') as txt_file: for line in csv.reader(txt_file): box = [int(string, 10) for string in line[0:8]] if len(line) < 9: print(txt) cv2.rectangle(image, (box[0], box[1]), (box[4], box[5]), (0,255,0), 2) font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(image, line[8].upper(), (box[0],box[1]), font, 0.5, (0, 0, 255), 1, cv2.LINE_AA) cv2.imwrite('task2_result_draw/'+ txt.split('/')[1].split('.')[0]+'.jpg', image)
Example #24
Source File: utils.py From DOTA_models with Apache License 2.0 | 6 votes |
def reWriteImgWithMask(srcpath, dstpath, gtpath, srcform, dstform): namelist = GetFileFromThisRootDir(gtpath) for fullname in namelist: objects = parse_bod_poly(fullname) mask_polys = [] for obj in objects: clsname = obj['name'] matches = re.findall('area|mask', clsname) if 'mask' in matches: #print('mask:') mask_polys.append(shgeo.Polygon(obj['poly'])) elif 'area' in matches: #print('area:') mask_polys.append(shgeo.Polygon(obj['poly'])) basename = mybasename(fullname) imgname = os.path.join(srcpath, basename + srcform) img = cv2.imread(imgname) dstname = os.path.join(dstpath, basename + dstform) if len(mask_polys) > 0: saveimageWithMask(img, dstname, mask_polys)
Example #25
Source File: data_provider.py From ICDAR-2019-SROIE with MIT License | 6 votes |
def generator(vis=False): image_list = np.array(get_training_data()) print('{} training images in {}'.format(image_list.shape[0], DATA_FOLDER)) index = np.arange(0, image_list.shape[0]) while True: np.random.shuffle(index) for i in index: try: im_fn = image_list[i] im = cv2.imread(im_fn) h, w, c = im.shape im_info = np.array([h, w, c]).reshape([1, 3]) _, fn = os.path.split(im_fn) fn, _ = os.path.splitext(fn) txt_fn = os.path.join(DATA_FOLDER, "label", fn + '.txt') if not os.path.exists(txt_fn): print("Ground truth for image {} not exist!".format(im_fn)) continue bbox = load_annoataion(txt_fn) if len(bbox) == 0: print("Ground truth for image {} empty!".format(im_fn)) continue if vis: for p in bbox: cv2.rectangle(im, (p[0], p[1]), (p[2], p[3]), color=(0, 0, 255), thickness=1) fig, axs = plt.subplots(1, 1, figsize=(30, 30)) axs.imshow(im[:, :, ::-1]) axs.set_xticks([]) axs.set_yticks([]) plt.tight_layout() plt.show() plt.close() yield [im], bbox, im_info except Exception as e: print(e) continue
Example #26
Source File: boxing.py From ICDAR-2019-SROIE with MIT License | 6 votes |
def draw(): f = open(box_path + 'jpglist.txt') # read each image and its label line = f.readline() line_num =0 while line: line_num=line_num+1 print('Image:', line_num) name = line.strip('\n') img = cv2.imread(image_path + name) img_size = img.shape img_size = img_size[0]*img_size[1] # read each coordinate and draw box f_txt = open(image_path + name.strip('.jpg') + '.txt') #line_txt = f_txt.readline() # pass the first ROI information line_txt = f_txt.readline() while line_txt: coor = line_txt.split(',') x1 = int(coor[0].strip('\'')) y1 = int(coor[1].strip('\'')) x3 = int(coor[4].strip('\'')) y3 = int(coor[5].strip('\'')) text = coor[8].strip('\n').strip('\'') text_show = text + '(' + str(x1) + ',' + str(y1) +')' cv2.rectangle(img, (x1, y1), (x3, y3), (255, 0, 0), 1) #cv2.putText(img, text_show, (x1, y1 - 1), # cv2.FONT_HERSHEY_TRIPLEX, 0.35, (0, 0, 255), 1) line_txt = f_txt.readline() cv2.imwrite(box_path + name, img) line = f.readline() # img = cv2.imshow('image', img) # cv2.waitKey(0)
Example #27
Source File: datasets.py From pruning_yolov3 with GNU General Public License v3.0 | 6 votes |
def load_image(self, index): # loads 1 image from dataset img = self.imgs[index] if img is None: img_path = self.img_files[index] img = cv2.imread(img_path) # BGR assert img is not None, 'Image Not Found ' + img_path r = self.img_size / max(img.shape) # size ratio if self.augment and r < 1: # if training (NOT testing), downsize to inference shape h, w, _ = img.shape img = cv2.resize(img, (int(w * r), int(h * r)), interpolation=cv2.INTER_LINEAR) # _LINEAR fastest # Augment colorspace if self.augment: augment_hsv(img, hgain=self.hyp['hsv_h'], sgain=self.hyp['hsv_s'], vgain=self.hyp['hsv_v']) return img
Example #28
Source File: predict.py From Automatic-Identification-and-Counting-of-Blood-Cells with GNU General Public License v3.0 | 5 votes |
def preprocess(self, im, allobj = None): """ Takes an image, return it as a numpy tensor that is readily to be fed into tfnet. If there is an accompanied annotation (allobj), meaning this preprocessing is serving the train process, then this image will be transformed with random noise to augment training data, using scale, translation, flipping and recolor. The accompanied parsed annotation (allobj) will also be modified accordingly. """ if type(im) is not np.ndarray: im = cv2.imread(im) if allobj is not None: # in training mode result = imcv2_affine_trans(im) im, dims, trans_param = result scale, offs, flip = trans_param for obj in allobj: _fix(obj, dims, scale, offs) if not flip: continue obj_1_ = obj[1] obj[1] = dims[0] - obj[3] obj[3] = dims[0] - obj_1_ im = imcv2_recolor(im) im = self.resize_input(im) if allobj is None: return im return im#, np.array(im) # for unit testing
Example #29
Source File: call_engine_to_infer_all_analysis_error_6classes.py From iAI with MIT License | 5 votes |
def save_error(label, error_type, file_path): error_path = os.path.join(TEST_OUT_PATH, os.path.join(label, error_type)) if not os.path.exists(error_path): os.makedirs(error_path) file_basename = os.path.basename(file_path) img = cv2.imread(file_path) dst_path = os.path.join(error_path, file_basename) cv2.imwrite(dst_path, img)
Example #30
Source File: sigrecog.py From signature-recognition with MIT License | 5 votes |
def main(): print('OpenCV version {} '.format(cv2.__version__)) current_dir = os.path.dirname(__file__) author = '021' training_folder = os.path.join(current_dir, 'data/training/', author) test_folder = os.path.join(current_dir, 'data/test/', author) training_data = [] for filename in os.listdir(training_folder): img = cv2.imread(os.path.join(training_folder, filename), 0) if img is not None: data = np.array(preprocessor.prepare(img)) data = np.reshape(data, (901, 1)) result = [[0], [1]] if "genuine" in filename else [[1], [0]] result = np.array(result) result = np.reshape(result, (2, 1)) training_data.append((data, result)) test_data = [] for filename in os.listdir(test_folder): img = cv2.imread(os.path.join(test_folder, filename), 0) if img is not None: data = np.array(preprocessor.prepare(img)) data = np.reshape(data, (901, 1)) result = 1 if "genuine" in filename else 0 test_data.append((data, result)) net = network.NeuralNetwork([901, 500, 500, 2]) net.sgd(training_data, 10, 50, 0.01, test_data)