2012-03-14 2 views
3

Я пытаюсь создать образ с помощью opencv v 2.1, но я получаю эту ошибку: image = cv.CreateImage ((w, h), no_of_bits, channels) AttributeError: ' модуль»объект не имеет атрибута„CreateImage“OpenCv CreateImage Функция не работает

код является

#!/usr/bin/python 

import cv 
from opencv import * 
from opencv.cv import * 
from opencv.highgui import * 
import sys 

import PIL 

w=500 
h=500 
no_of_bits=8 
channels=3 
image=cv.CreateImage((w,h),no_of_bits,channels) 

cv.ShowImage('WindowName',image) 
cvWaitKey() 

ответ

5

Вы пишете над пространством имен. Используйте только import cv, а не другие.

>>> import cv 
>>> w=500 
>>> no_of_bits=8 
>>> channels=3 
>>> h=500 
>>> image=cv.CreateImage((w,h),no_of_bits,channels) 
>>> print image 
<iplimage(nChannels=3 width=500 height=500 widthStep=1500)> 
11

Поскольку не так много хороших примеров, как создать новый пустой файл, залитый цветом, используя CV2, вот один:

Создать OpenCV изображение определенного (R, G, B) цвет :

import cv2 
import numpy as np 

def create_blank(width, height, rgb_color=(0, 0, 0)): 
    """Create new image(numpy array) filled with certain color in RGB""" 
    # Create black blank image 
    image = np.zeros((height, width, 3), np.uint8) 

    # Since OpenCV uses BGR, convert the color first 
    color = tuple(reversed(rgb_color)) 
    # Fill image with color 
    image[:] = color 

    return image 

# Create new blank 300x300 red image 
width, height = 300, 300 

red = (255, 0, 0) 
image = create_blank(width, height, rgb_color=red) 
cv2.imwrite('red.jpg', image) 
0

I нормальные случаи мы имеем изображение, на котором мы могли бы также выполнить определенную операцию, а затем создать новый образ из него.

В таких случаях у вас уже есть изображение, представляющее интерес, и вы хотите создать его копию с определенными изменениями.

Сделайте копию исходного изображения.

Сделайте каждый пиксель внесенными вами изменениями.

Смежные вопросы