grow line from a point on both sides along angles with x axis

I have a portrait picture as input. After pre-processing, I only keep the region of hair as what I need. After convolved with Gabor filter banks, I get estimated orientation at every pixels.

Here's my problem. I have a set of seed pixels, and I want grow 2D hair strand segments from seed pixel along its orientation on both sides.

If the seed point is

p(x,y) ,

forward tracing is

p1 = (x+step*sin(theta), y-step*cos(theta)) ,

backward tracing is

p0 = (x-step*sin(theta), y0+step*cos(theta)) ,

the step is 75% unit pixel width. In order to get smooth line segment, the orientation of new position is bilinear interpolated by its nearest 4 neighbors. But unfortunately, I didn't get good results. Can anybody help me to check out what's happening? Thanks a lot.

Input image:

输入

Traced line segments:

段

I just want to implement the 2D hair generation method of this paper: Single-View Hair Modeling for Portrait Manipulation

链接地址: http://www.djcxy.com/p/61170.html

上一篇: 使用ffi将c ++数据类型导入haskell

下一篇: 从两侧的一个点沿着与x轴的角度生长线