CV-基础知识及原理总结

CV-基础知识及原理总结

1 本体

  概念: 计算机视觉中的图像由像素点组成。

      300*500的图片 x*y注意是先w*h ,宽为300 高为500,x向排列300个像素点

      每个像素点即是一个数值(根据颜色通道而定)0-255 0 为黑色,255为最亮,即白色

      通道:彩色图片,rgb,opencv bgr,三通道,即一个像素点在r通道有一个值,在g通道有一个值,b同理。合在一起显示了最终该像素点颜色。

          黑白图片 通道只有一个。

      

      帧:视频每秒设备处理的一张图片。比如每秒30帧,人眼看着就是很自然,1秒钟处理30张图片。

openCV使用

基本读取:
  

    image=r"images/andrew_j_feustel_lmks5_rgb_test.jpg"
    base="images/cv_debug"
    faceid=cv2.imread(image)
    print(faceid.shape)
    face_part=faceid[90:170,375:475]
    import time
    save=os.path.join(base,"image_%s.jpg"%int(time.time()))
    cv2.imwrite(save,face_part)
# ######## 绘制 框
    save_rects=os.path.join(base,"image_rects_%s.jpg"%int(time.time()))
    cv2.rectangle(faceid,(375,90),(475,170),color=(0,0,255),thickness=4)
    cv2.imwrite(save_rects,faceid)
# ######## 绘制圆点
    save_cir = os.path.join(base, "image_circle_%s.jpg" % int(time.time()))
    for cor in [(100,100),(500,500)]:
        cv2.circle(faceid, cor, color=(0,0,255),radius=10)
    cv2.imwrite(save_cir, faceid)
# ######## 图像按照颜色通道分割
    b,g,r=cv2.split(faceid)
    c=1
    for s in (b,g,r):
        cv2.imwrite("%s_%s.jpg"%(c,int(time.time())), s)
        c+=1
# ######## 三个通道的数据merge
    yuhang=cv2.merge((b,g,r))
    cv2.imwrite("yuhang.jpg", yuhang)

    blue=faceid.copy()
    blue[:,:,1]=0
    blue[:, :, 2] = 0
    cv2.imwrite("blue.jpg", blue)
# ######## 单独建一个数据结构,不在原数据上操作,也可copy.deepcopy()
    red=faceid.copy()
# ######## 对数据0,1通道全部数据置为最暗颜色/显示为全黑色。剩下的通道即为显现颜色。全红或全绿。 red[:,:,0]=0 red[:, :, 1] = 0 cv2.imwrite("red.jpg", red)

  

        

原文地址:https://www.cnblogs.com/lx63blog/p/14333257.html