Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
±ßÔµ¼ì²â£¨¸÷Àà±ßÔµËã×Ó£©ÒÔ¼°½Çµã¼ì²â python
 
×÷ÕߣºXITMan
  3565  次浏览      28
 2020-10-9
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁ˱ßÔµ¼ì²âµÄ¸÷Àà±ßÔµËã×Ó£¬ÒÔ¼°¶Ôԭͼ¼°ËüÐýת±ä»»ºóµÄͼÏñ½øÐнǵã¼ì²â £¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

±ßÔµ¼ì²â£º

1.RobertsËã×Ó

2.PrewittËã×Ó

3.SobelËã×Ó

4.LaplacianËã×Ó

5.Cannyº¯Êý

´úÂëÈçÏ£º

import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread('lenna.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('origin', image)
h, w = image.shape # »ñȡͼÏñµÄ¸ß¶ÈºÍ¿í¶È

# RobertsËã×Ó
kernelx = np.array([[-1, 0], [0, 1]], dtype=int)
kernely = np.array([[0, -1], [1, 0]], dtype=int)
x = cv2.filter2D(image, cv2.CV_16S, kernelx)
y = cv2.filter2D(image, cv2.CV_16S, kernely)
absX = cv2.convertScaleAbs(x)
absY = cv2.convertScaleAbs(y)
Roberts = cv2.addWeighted(absX, 0.5, absY, 0.5, 0)
cv2.imshow('Roberts', Roberts )
# PrewittËã×Ó
kernelx = np.array([[1, 1, 1], [0, 0, 0], [-1, -1, -1]], dtype=int)
kernely = np.array([[-1, 0, 1], [-1, 0, 1], [-1, 0, 1]], dtype=int)
x = cv2.filter2D(image, cv2.CV_16S, kernelx)
y = cv2.filter2D(image, cv2.CV_16S, kernely)
absX = cv2.convertScaleAbs(x)
absY = cv2.convertScaleAbs(y)
Prewitt = cv2.addWeighted(absX, 0.5, absY, 0.5, 0)
cv2.imshow('Prewitt', Prewitt)
# Sobel Â˲¨Æ÷ ½øÐбߵļì²â
sobel_horizontal = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=5) # ˮƽ·½Ïò
sobel_vetical = cv2.Sobel(image, cv2.CV_64F, 0, 1, ksize=5) # ´¹Ö±·½Ïò
cv2.imshow('sobel_H', sobel_horizontal) # ˮƽ·½Ïò
cv2.imshow('sobel_V', sobel_vetical) # ´¹Ö±·½Ïò
# À­ÆÕÀ­Ë¹Ëã×Ó ½øÐбߵļì²â 64F´ú±íÿһ¸öÏñËØµãÔªËØÕ¼64λ¸¡µãÊý
laplacian = cv2.Laplacian(image, cv2.CV_64F, ksize=5)
cv2.imshow('laplacian', laplacian)
# # Canny±ß¼ì²âÆ÷
canny = cv2.Canny(image, 50, 240)
cv2.imshow('Canny', canny)
cv2.waitKey(0)
cv2.destroyAllWindows()

½á¹ûͼÈçÏÂ

Roberts

prewitt

Laplacian

canny

Sobel_v

sobel_h

Éè¼Æ¼ì²â¾ßÓÐÌØ¶¨½Ç¶È±ßÔµµÄËã×Ó£»

¼ì²â¾ßÓÐ45o½ÇµÄ±ßÔµµÄ3¡Á3Ëã×Ó£»

¼ì²â¾ßÓÐ45o½ÇµÄ±ßÔµµÄ5¡Á5Ëã×Ó£»

ÕâÀïÎÒʹÓõÄÊÇprewittÄ£°å

3x3´úÂëÈçÏ£º

import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread('lenna.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('origin', image)
# RobertsËã×Ó
kernelx = np.array([[1, 1, 0], [1, 0, -1], [0, -1, -1]], dtype=int)
kernely = np.array([[1, 1, 0], [1, 0, -1], [0, -1, -1]], dtype=int)
x = cv2.filter2D(image, cv2.CV_16S, kernelx)
y = cv2.filter2D(image, cv2.CV_16S, kernely)
absX = cv2.convertScaleAbs(x)
absY = cv2.convertScaleAbs(y)
Prewitt = cv2.addWeighted(absX, 0.5, absY, 0.5, 0)
cv2.imshow('Prewitt', Prewitt)
cv2.waitKey(0)
cv2.destroyAllWindows()

5x5´úÂëÈçÏÂ

import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread('lenna.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('origin', image)
# RobertsËã×Ó
kernelx = np.array([[1, 1, 1, 1, 0], [1, 1, 1, 0, -1], [1,1,0, -1, -1],[1,0,-1,-1,-1],[0,-1,-1,-1,-1]], dtype=int)
kernely = np.array([[1, 1, 1, 1, 0], [1, 1, 1, 0, -1], [1,1,0, -1, -1],[1,0,-1,-1,-1],[0,-1,-1,-1,-1]], dtype=int)
x = cv2.filter2D(image, cv2.CV_16S, kernelx)
y = cv2.filter2D(image, cv2.CV_16S, kernely)
absX = cv2.convertScaleAbs(x)
absY = cv2.convertScaleAbs(y)
Prewitt = cv2.addWeighted(absX, 0.5, absY, 0.5, 0)
cv2.imshow('Prewitt', Prewitt)

cv2.waitKey(0)
cv2.destroyAllWindows()

½Çµã¼ì²â

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
def cornerHarri(imgae):
gray = cv.cvtColor(imgae, cv.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv.cornerHarris(gray, 2, 3, 0.04)
dst = cv.dilate(dst, None)
imgae[dst>0.01*dst.max()]=[0,0,255]

src = cv.imread("whiteandblack.jpg")
rows, cols, channel = src.shape
#ÈÆÍ¼ÏñµÄÖÐÐÄÐýת
#²ÎÊý£ºÐýתÖÐÐÄ Ðýת¶ÈÊý scale
M = cv.getRotationMatrix2D((cols/2, rows/2), 30, 1)
#²ÎÊý£ºÔ­Ê¼Í¼Ïñ Ðýת²ÎÊý ÔªËØÍ¼Ïñ¿í¸ß
rotated = cv.warpAffine(src, M, (cols, rows))
cv.imshow("contours", src)
cornerHarri(src)
cv.imshow("corn",src)
cornerHarri(rotated)
cv.imshow("corn1",rotated)


cv.waitKey(0)
cv.destroyAllWindows()

ÕâÀïÊǶÔԭͼ¼°ËüÐýת±ä»»ºóµÄͼÏñ½øÐнǵã¼ì²â

ͼÏñÈçÏÂ

ԭͼ£º

½Çµã¼ì²âºó£º

ÐýתºóµÄ½Çµã¼ì²â£º

ʹÓÃcv2.goodFeaturesToTrack()¼ì²â½Çµã

µÀÀíÒ»ÑùÏÂÃæ¸ø³ö´úÂ루½á¹ûͼ¾Í²»·ÅÁË£©£º

import numpy as np
import cv2
from matplotlib import pyplot as plt
def track(imgae):
gray = cv2.cvtColor(rotated,cv2.COLOR_BGR2GRAY)
corners = cv2.goodFeaturesToTrack(gray,25,0.01,10)
corners = np.int0(corners)
for i in corners:
x,y = i.ravel()
cv2.circle(rotated,(x,y),3,255,-1)


img = cv2.imread('whiteandblack.jpg')
rows, cols, channel = img.shape
#ÈÆÍ¼ÏñµÄÖÐÐÄÐýת
#²ÎÊý£ºÐýתÖÐÐÄ Ðýת¶ÈÊý scale
M = cv2.getRotationMatrix2D((cols/2, rows/2), 30, 1)
#²ÎÊý£ºÔ­Ê¼Í¼Ïñ Ðýת²ÎÊý ÔªËØÍ¼Ïñ¿í¸ß
rotated = cv2.warpAffine(img, M, (cols, rows))

cv2.imshow("contours", img)
track(img)
cv2.imshow("corn",img)
track(rotated)
cv2.imshow("corn1",rotated)
cv.waitKey(0)
cv.destroyAllWindows()
 

 

   
3565 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

»ùÓÚͼ¾í»ýÍøÂçµÄͼÉî¶Èѧϰ
×Ô¶¯¼ÝÊ»ÖеÄ3DÄ¿±ê¼ì²â
¹¤Òµ»úÆ÷ÈË¿ØÖÆÏµÍ³¼Ü¹¹½éÉÜ
ÏîĿʵս£ºÈçºÎ¹¹½¨ÖªÊ¶Í¼Æ×
 
Ïà¹ØÎĵµ

5GÈ˹¤ÖÇÄÜÎïÁªÍøµÄµäÐÍÓ¦ÓÃ
Éî¶ÈѧϰÔÚ×Ô¶¯¼ÝÊ»ÖеÄÓ¦ÓÃ
ͼÉñ¾­ÍøÂçÔÚ½»²æÑ§¿ÆÁìÓòµÄÓ¦ÓÃÑо¿
ÎÞÈË»úϵͳԭÀí
Ïà¹Ø¿Î³Ì

È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ&TensorFlow
»úÆ÷ÈËÈí¼þ¿ª·¢¼¼Êõ
È˹¤ÖÇÄÜ£¬»úÆ÷ѧϰºÍÉî¶Èѧϰ
ͼÏñ´¦ÀíËã·¨·½·¨Óëʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
¶àÄ¿±ê¸ú×Ù£ºAI²úÆ·¾­ÀíÐèÒªÁ˽âµÄCVͨʶ
Éî¶Èѧϰ¼Ü¹¹
¾í»ýÉñ¾­ÍøÂç֮ǰÏò´«²¥Ëã·¨
´Ó0µ½1´î½¨AIÖÐ̨
¹¤Òµ»úÆ÷ÈË¿ØÖÆÏµÍ³¼Ü¹¹½éÉÜ
×îпγÌ
È˹¤ÖÇÄÜ£¬»úÆ÷ѧϰºÍÉî¶Èѧϰ
È˹¤ÖÇÄÜÓë»úÆ÷ѧϰӦÓÃʵս
È˹¤ÖÇÄÜ-ͼÏñ´¦ÀíºÍʶ±ð
È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ& TensorFlow+Keras¿ò¼Üʵ¼ù
È˹¤ÖÇÄÜ+Python£«´óÊý¾Ý
³É¹¦°¸Àý
ij×ÛºÏÐÔ¿ÆÑлú¹¹ È˹¤ÖÇÄÜÓë»úÆ÷ѧϰӦÓÃ
Ä³ÒøÐÐ È˹¤ÖÇÄÜ+Python+´óÊý¾Ý
±±¾© È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰ& TensorFlow¿ò¼Üʵ¼ù
ijÁìÏÈÊý×ÖµØÍ¼ÌṩÉÌ PythonÊý¾Ý·ÖÎöÓë»úÆ÷ѧϰ
ÖйúÒÆ¶¯ È˹¤ÖÇÄÜ¡¢»úÆ÷ѧϰºÍÉî¶Èѧϰ