A voir également:
- TypeError: unsupported operand type(s) for -: 'NoneType' and 'No
- Typeerror: botbase.__init__() missing 1 required keyword-only argument: 'intents' ✓ - Forum Python
- Typeerror: can't multiply sequence by non-int of type 'str' - Forum Python
- TypeError: 'int' object is not iterable ✓ - Forum Python
- TypeError: 'NoneType' object is not subscriptable - Forum Python
- TypeError: 'float' object is not subscriptable - Forum Python
2 réponses
import cv2
import numpy as np
import scipy
import scipy.ndimage as ndimage
import scipy.ndimage.filters as filters
import matplotlib.pyplot as plt
neighborhood_size = 4
threshold = 100
scale1 = 0.1292
scale2 = 0.03175
cv2.namedWindow("Image")
data = cv2.imread('/home/mehdi/Bureau/mehdi.jpg',0)
data_max = scipy.ndimage.filters.maximum_filter(data, 4)
maxima = (data == data_max)
data_min = scipy.ndimage.filters.minimum_filter(data, 4)
diff = ((data_max - data_min) > threshold)
maxima[diff == 0] = 0
labeled, num_objects = ndimage.label(maxima)
slices = ndimage.find_objects(labeled)
for dy,dx in slices:
x_center = (dx.start + dx.stop - 1)/2
y_center = (dy.start + dy.stop - 1)/2
if x_center > 500 and x_center < 621:
xx1.append((x_center*scale1)+(fileloop*scale2))
yy1.append(y_center*scale1)
zz1.append((621-x_center)*1.0*scale1)
if x_center > 621 and x_center < 800:
xx2.append((x_center*scale1)+(fileloop*scale2))
yy2.append(y_center*scale1)
zz2.append((x_center-621)*1.0*scale1)
pointcloud1 = zip(xx1,yy1,zz1)
pointcloud2 = zip(xx2,yy2,zz2)
np.savetxt('test1.asc',pointcloud1,fmt='%-7.2f')
np.savetxt('test2.asc',pointcloud2,fmt='%-7.2f')
cv2.imshow("Image",data)
cv2.waitKey(0)
cv2.destroyALLWindows()
import numpy as np
import scipy
import scipy.ndimage as ndimage
import scipy.ndimage.filters as filters
import matplotlib.pyplot as plt
neighborhood_size = 4
threshold = 100
scale1 = 0.1292
scale2 = 0.03175
cv2.namedWindow("Image")
data = cv2.imread('/home/mehdi/Bureau/mehdi.jpg',0)
data_max = scipy.ndimage.filters.maximum_filter(data, 4)
maxima = (data == data_max)
data_min = scipy.ndimage.filters.minimum_filter(data, 4)
diff = ((data_max - data_min) > threshold)
maxima[diff == 0] = 0
labeled, num_objects = ndimage.label(maxima)
slices = ndimage.find_objects(labeled)
for dy,dx in slices:
x_center = (dx.start + dx.stop - 1)/2
y_center = (dy.start + dy.stop - 1)/2
if x_center > 500 and x_center < 621:
xx1.append((x_center*scale1)+(fileloop*scale2))
yy1.append(y_center*scale1)
zz1.append((621-x_center)*1.0*scale1)
if x_center > 621 and x_center < 800:
xx2.append((x_center*scale1)+(fileloop*scale2))
yy2.append(y_center*scale1)
zz2.append((x_center-621)*1.0*scale1)
pointcloud1 = zip(xx1,yy1,zz1)
pointcloud2 = zip(xx2,yy2,zz2)
np.savetxt('test1.asc',pointcloud1,fmt='%-7.2f')
np.savetxt('test2.asc',pointcloud2,fmt='%-7.2f')
cv2.imshow("Image",data)
cv2.waitKey(0)
cv2.destroyALLWindows()