Facebook RSS
banner

Stored Procedure

Cấu trúc đơn giản :

CREATE PROC [Ten]
@[TenThamSo] [LoaiThamSo] AS 'Các câu lệnh muốn thực thi
GO

Vd :

CREATE PROC uspGetAddress
@City nvarchar(30)
AS
SELECT * FROM AdventureWorks.Person.Address WHERE City = @City
GO

SHARE THIS POST

  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati

0 bình luận:

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.

Gaussian Blur


Về cơ bản , đây là bộ lọc làm mờ ảnh sử dụng hàm Gauss . Phương trình hàm Gauss trong không gian 2 chiều như sau :


Trong đó :
x , y : tọa độ theo trục đứng và ngang, là tham số
σ : nói nôm na là ngưỡng , là độ mạnh, cũng là 1 tham số
e : số e , trong C# dùng Math.Exp([số mũ của e])
π : số Pi , trong C# dùng Math.PI

Tiếp tục quay trở lại bộ lọc , ngoài hàm Gauss , ta còn phải sử dụng 1 nhân ( kernel ) . Nhân này là 1 ma trận 2 chiều với số lượng phần tử là lẻ . Ví dụ : 3 x 3 , 5 x 5 .

Vd áp dụng hàm Gauss với " ngưỡng " = 1 . Kết quả hàm Gauss cho ta 01 nhân 3 x 3 như sau :

G(-1,-1)=0.0585498 G(0,-1)=0.0965324 G(1,-1)=0.0585498
G(-1,0)=0.0965324 G(0,0)=0.159155 G(1,0)=0.0965324
G(-1,1)=0.0585498 G(0,1)=0.0965324 G(1,1)=0.0585498

Với ảnh 3 x 3 pixel có điểm màu như sau :
A(R = 10, G = 11, B = 12) , B(5,6,7) , C(9,8,7)
D(10,11,12) , E(5,6,7) , F(9,8,7)
G(10,11,12) , H(5,6,7) , I(9,8,7)

Ta áp dụng nhân :

- Đầu tiên tính khoảng cách từ cạnh viền cho đến pixel được xử lý :
Khoảng cách = (độ rộng nhân - 1)/2 .

Với nhân 3 x 3 vd trên , ta được khoảng cách là 1.

- Pixel được xử lý :
Từ [khoảng cách, khoảng cách] đến [rộng hình-khoảng cách-1, cao hình-khoảng cách-1]

Với vd đã cho , ta được từ [1,1] đến [3 - 1 - 1, 3 - 1 - 1] ( [1,1] ) , tức điểm màu E

- Xử lý :
* E' : E'R' = AR * G(-1,-1) + BR * G(0,-1) + ... + IR * G(1,1)
Tương tự cho G và B

Kết quả là ảnh trên có 03 pixel mới là :
ABC
DE'F
GHI

Lưu ý:
Để đảm bảo hình ảnh không bị đổi màu quá nhiều , nhân cần phải được xử lý lại . Vd với nhân trên , ta lấy tổng từ G(-1, -1) đến G(1, 1) . Sau đó lấy từng G chia cho tổng đó.

SHARE THIS POST

  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati

0 bình luận:

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.