Форум сайта python.su
0
def compute_histogram_rgb(src, r_bins = 32, g_bins = 32, b_bins= 32): #create planes rplane = cv.CreateImage(cv.GetSize(src), 8, 1) gplane = cv.CreateImage(cv.GetSize(src), 8, 1) bplane = cv.CreateImage(cv.GetSize(src), 8, 1) planes = [rplane, gplane, bplane] cv.Split(src, rplane, gplane, bplane, None) #compute histogram hist = cv.CreateHist((r_bins, g_bins, b_bins), cv.CV_HIST_ARRAY, ranges = ((0, 255),(0, 255), (0, 255)), uniform = True) cv.CalcHist(planes, hist) #compute histogram cv.NormalizeHist(hist, 1.0) #normalize hist return hist
Офлайн
25
в sqllite типов нет - создали таблицу, записали туда данные что именно за данные это будут, ему все равно.
Отредактировано s0rg (Март 14, 2013 17:31:40)
Офлайн
221
s0rg
в SQLIte нету типов? вы точно ничего не путаете?
Офлайн
63
Если я не ошибаюсь, sqlite хранит все данные в виде строк, поэтому DB API выполняет дополнительные операции по преобразованию :)
Отредактировано 4kpt (Март 15, 2013 01:52:19)
Офлайн
221
4kpt
Посмотрите тут раздел “SQLite и Python типы данных” ближе к концу.
К тому же вот вам код, который говорит что SQLite работает только по нативным типам, если хочется подсунуть ему любой свой объект, его надо зарегистрировать.
>>> import sqlite3 >>> db=sqlite3.connect(':memory:') >>> cursor=db.cursor() >>> cursor.execute('create table main(id integer, value float, text text);') >>> cursor.execute('insert into main values(?,?,?)', (13.5, 12, 111)) >>> cursor.execute('select * from main;').fetchall() [(13.5, 12.0, u'111')] >>> class b(object): ... def __str__(self): ... return 'just b' ... >>> print b() just b >>> cursor.execute('insert into main values(?,?,?)', (10, 11.0, b() )) Traceback (most recent call last): File "<stdin>", line 1, in <module> sqlite3.InterfaceError: Error binding parameter 2 - probably unsupported type. >>>
Офлайн
0
ну так дело в том, что я не знаю какой тип у hist и python как бы безтиповый язык же.
Офлайн
18
mrgloomЧто за глупость. Питон - язык с динамической типизацией.
python как бы безтиповый язык же.
Офлайн
0
попробовал сделать поле для hist типа blob, но всё равно не работает.
>>> import sqlite3 >>> db=sqlite3.connect(':memory:') >>> cursor=db.cursor() >>> cursor.execute('create table main(id integer, hist blob);') >>> cursor.execute('insert into main values(?,?)', (13.5, hist)) InterfaceError: Error binding parameter 1 - probably unsupported type.
Отредактировано mrgloom (Март 15, 2013 08:09:27)
Офлайн
63
JOHN_16
Статья хорошая. Встретил про типы в книге Сузи Р… Видимо Роман ошибался :)
А по Postgresql такой статейки у Вас нет?
Офлайн
25
А если так?
db = sqlite3.connect(':memory:')
db.execute('create table main(id, hist)')
db.execute('insert into main values(?,?)', ...)Отредактировано s0rg (Март 15, 2013 10:21:04)
Офлайн